jscroller.0.3.js
上传用户:saigedz
上传日期:2019-10-14
资源大小:997k
文件大小:4k
- /*
- * jScroller 0.3 - Scroller Script
- *
- * Copyright (c) 2007 Markus Bordihn (http://markusbordihn.de)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * $Date: 2007-11-15 13:00:00 +0100 (Thu, 15 Nov 2007) $
- * $Rev: 0.3 $
- */
- $(document).ready(function(){
- this.defaults = {
- scroller: {
- interval: 0, // Dont touch !
- refresh: 150, // Refresh Time in ms
- direction: "up", // down,right,left,up
- speed: 1, // Set the Scroller Speed
- id: "#scroller",
- cont_id: "#scroller_container"
- }
- }
- var jscroller_config = $.extend(this.defaults), jscroller_scroller = $(jscroller_config.scroller.id), jscroller_scroller_cont = $(jscroller_config.scroller.cont_id);
-
- if (jscroller_scroller && jscroller_scroller_cont) {
- jscroller_scroller.css({position: 'absolute', left: 0, top: 0});
- jscroller_init();
- }
- function jscroller_startScroll() {
- if(!jscroller_config.scroller.interval) {
- jscroller_config.scroller.interval=window.setInterval(jscroller_doScroll,jscroller_config.scroller.refresh);
- }
- }
- function jscroller_stopScroll() {
- if (jscroller_config.scroller.interval) {
- window.clearInterval(jscroller_config.scroller.interval);
- jscroller_config.scroller.interval=0;
- }
- }
- function jscroller_init() {
- $("#scroller a").click(function(){
- window.open(this.href);
- return false;
- });
- jscroller_scroller_cont.css('overflow','hidden');
- if(!jscroller_config.scroller.interval) {
- if (window.attachEvent) {
- window.attachEvent("onfocus", jscroller_startScroll);
- window.attachEvent("onblur", jscroller_stopScroll);
- window.attachEvent("onresize", jscroller_startScroll);
- window.attachEvent("onscroll", jscroller_startScroll);
- }
- else if (window.addEventListener) {
- window.addEventListener("focus", jscroller_startScroll, false);
- window.addEventListener("blur", jscroller_stopScroll, false);
- window.addEventListener("resize", jscroller_startScroll, false);
- window.addEventListener("scroll", jscroller_startScroll, false);
- }
- jscroller_startScroll();
- if ($.browser.msie) {window.focus()}
- }
- }
- function jscroller_getElem(Elem) {
- return (typeof Elem == "string" && document.getElementById)? document.getElementById(Elem) : Elem;
- }
- function jscroller_doScroll() {
- if (scroller_dom = jscroller_getElem(jscroller_scroller.attr("id"))) {
- var
- p_top= Number((/[0-9-,.]+/.exec(jscroller_scroller.css('top'))||0)),
- p_left=Number((/[0-9-,.]+/.exec(jscroller_scroller.css('left'))||0)),
- min_height=jscroller_scroller_cont.height(),
- min_width=jscroller_scroller_cont.width(),
- speed=jscroller_config.scroller.speed,
- p_height=scroller_dom.offsetHeight,
- p_width=scroller_dom.offsetWidth,
- direction=jscroller_config.scroller.direction,
- jscroller=jscroller_scroller;
- switch(direction) {
- case 'up':
- if (p_top <= -1*p_height) {p_top=min_height;}
- jscroller.css('top',p_top-speed+'px');
- break;
- case 'right':
- if (p_left >= min_width) {p_left=-1*p_width;}
- jscroller.css('left',p_left+speed+'px');
- break;
- case 'left':
- if (p_left <= -1*p_width) {p_left=min_width;}
- jscroller.css('left',p_left-speed+'px');
- break;
- case 'down':
- if (p_top >= min_height) {p_top=-1*p_height;}
- jscroller.css('top',p_top+speed+'px');
- break;
- }
- }
- }
- });