• 发布一款JavaScript焦点图组件


    【导读】焦点图在网站中应用并不少见。该焦点图将js控置逻辑与UI部份分离,有兴趣的朋友可以试试.


    【示例1】


    【示例2】


    【示例3】

    pp_index_bg_20110215 index-eles index-life-icons

    【说明】
       示例1与示例2为同一组件(animation1.js),示例3的切换模示与之前不同,因此在之前的基础上修改为animation2.js.两图均支持自动切换模式.

    【参数说明】

      公共部份:

       scrollcontrol:滚动的容器(元素id) .
       横向滚动一屏的距离;
       height:纵向滚动一屏的距离;
       isLR:标识横向滚动or纵向滚动(lr|tb)
       mode:滚动模式(slow[减速]|fast[加速]|stand[恒速])
       freq:setInterval的第二个参数,设置该参数控置移动时的频率.
       rv:与mode协同工作.能够影响滚动速度,不同的mode,设置rv的意义不一样,可不用设置.
       auto:标识是否自动滚动
       autotime:自动滚动间隔,毫秒为单为,默认值3000

    animation1.js 其它参数:

       defindex:第一次显示焦点图的索引号,默认0

       smallbtn:一个(元素)数组:[btn1,btn2,btn3],用来切换不同的页

       cls:(string或function),如果是string,鼠标经过smallbtn中按钮时,会将该字符串做为样式名附加在(鼠标经过的)按钮上.如果是一个function,鼠标经过smallbtn中按钮时,会触发该函数.并且传入两个整型参数(lstIndex,curIndex),提供外围扩展.

       start:一个事件,当开始切换焦点时触发.有两个参数(lstIndex,curIndex)

       stop:一个事件,当结束滚动时触发,与start参数一致.

    animation2.js 其它参数:

       subcontrol:该容器是滚动内容的父容器,它应该能够反应出滚动内容的真实宽度或高度(元素id) .

       leftbtn:控置往左移动的按钮(元素id)

       rightbtn:控置往右移动的按钮(元素id)

       beforefirst:一个事件,滚动到最左端时触发,有一个布尔类型参数(auto),标识是自动滚动,还是点击触发.

       afterend:一个事件,滚动到最右边触发,参数与beforefirst一致.

     

    【工作原理】

        无论左右滚动,或者上下滚动,都是通过scrollLeft,scrollTop控置的.因此请确保 scrollcontrol 有足够的滚动空间.

    【示例代码】

     结构部份

    <div class = "center" id = "appliymain"><!--js控置该容器的scrollLeft,scrollTop实现滚动-->
    	<div style = "9999px" ><!--该部份用来撑足空间-->
    		<div class = "content" id = "subcontent">
    			<!--滚动内容部份-->
    		</div>
    	</div>
    </div>
    

     调用代码

    图1,2调用
    slide1({
    	length:5
    	,scrollcontrol:"paipaimain"
    	,470
    	,height:205
    	,isLR:"lr"
    	,cls:"hover"
    	,mode:"slow"
    	,rv:1
    	,freq:15
    	,smallbtn:$(".paipai .nav li").get()
    })
    
    图3调用
    slide2({
    	scrollcontrol:"appliymain"
    	,subcontrol:"subcontent"
    	,550
    	,auto:true
    	,height:75
    	,isLR:"lr"
    	,mode:"slow"
    	,rv:1
    	,leftbtn:"applyleft"
    	,rightbtn:"applyright"
    	,freq:15
    });

    点此下载完整示例

  • 相关阅读:
    innerHTML和innerText的区别
    AJAX是什么? AJAX的交互模型(流程)?同步和异步的区别? AJAX跨域的解决办法?
    事件初理解2不兼容
    那些宽高
    面试题
    事件初理解2不兼容
    ajax初理解
    attribute和property的区别
    启动nuxt项目fsevents报错
    CSS实现三栏布局(5种)
  • 原文地址:https://www.cnblogs.com/a_bu/p/1999415.html
Copyright © 2020-2023  润新知