sliderPanel.ftl 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <div id="sliderPanel" width="${parameters.width!}" height="${parameters.height!}" style="${parameters.init!}">
  2. <div class="iframe_list">
  3. <ul>
  4. <#list parameters.sliderPanel.frames![] as iframe>
  5. <li width="${iframe.width!}">
  6. <#if "${iframe.type!}"=="img" >
  7. <img src="${iframe.url}" width="${iframe.width!}"/>
  8. <#else>
  9. <IFRAME frameBorder="0" id="${iframe.id!}" name="${iframe.url!}" src="" width="${iframe.width!}" height="${iframe.height!}"></IFRAME>
  10. </#if>
  11. </li>
  12. </#list>
  13. </ul>
  14. </div>
  15. <div class="footer">
  16. <a href="#" id="toLeft" class="link toLeft"></a>
  17. <div class="btn_list">
  18. <ul>
  19. </ul>
  20. </div>
  21. <a href="#" id="toRight" class="link toRight"></a>
  22. </div>
  23. </div>
  24. <script type="text/javascript">
  25. var timeout=${parameters.timeout!};
  26. $("#sliderPanel").css("width",$("#sliderPanel").attr("width"));
  27. $("#sliderPanel").css("height",$("#sliderPanel").attr("height"));
  28. $(".iframe_list li").each(function(index, element) {
  29. $(element).css("width",$(element).attr("width"));
  30. $(element).css("height",$(element).attr("height"));
  31. });
  32. var index = 0;
  33. var timer = 0;
  34. var ulist = $('.iframe_list ul');
  35. var blist = $('.btn_list ul');
  36. var list = ulist.find('li');
  37. var llength = list.length;//li的个数,用来做边缘判断
  38. var lwidth = $(list[0]).width();//每个li的长度,ul每次移动的距离
  39. var uwidth = llength * lwidth;//ul的总宽度
  40. init();
  41. function init(){
  42. //显示隐藏左右点击开关
  43. //生成按钮(可以隐藏)
  44. addBtn(list);
  45. //给第一个IFRAME加载URL
  46. var element=$(".iframe_list iframe").eq(0);
  47. $(element).attr("src",$(element).attr("name"));
  48. $('.link').bind('click', function(event) {
  49. var elm = $(event.target);
  50. doMove(elm.attr('id'));
  51. return false;
  52. });
  53. //定时器
  54. timer = setInterval("doMove('toRight')",timeout);
  55. $('.iframe_list li').hover(function() {
  56. clearInterval(timer);
  57. }, function() {
  58. timer = setInterval("doMove('toRight')",timeout);
  59. });
  60. }
  61. function doMove(direction){
  62. //向右按钮
  63. if (direction =="toRight") {
  64. index++;
  65. if ( index< llength) {
  66. uwidth = lwidth *index;
  67. ulist.css('left',-uwidth);
  68. //ulist.animate({left: -uwidth}, timeout);
  69. }else{
  70. ulist.css('left','0px');
  71. index = 0;
  72. };
  73. //向左按钮
  74. }else if(direction =="toLeft"){
  75. index--;
  76. if ( index < 0) {
  77. index = llength - 1;
  78. }
  79. uwidth = lwidth *index;
  80. ulist.css('left',-uwidth);
  81. //ulist.animate({left: -uwidth}, "slow");
  82. //点击数字跳转
  83. }else{
  84. index = direction;
  85. uwidth = lwidth *index;
  86. ulist.css('left',-uwidth);
  87. };
  88. var element=$(".iframe_list iframe").eq(index);
  89. var name=$(element).attr("name");
  90. var src=$(element).attr("src");
  91. if(src==""){
  92. $(element).attr("src",name);
  93. }
  94. changeBtn(index);
  95. }
  96. function changeBtn(i){
  97. blist.find('li').eq(i).addClass('on').siblings().removeClass('on');
  98. //var text = ulist.find('li').eq(i).find('img').attr('alt');
  99. //var link = ulist.find('li').eq(i).find('a').attr('href');
  100. //$('.img_intro .text a').text(text);
  101. //$('.img_intro .text a').attr('href',link);
  102. }
  103. function addBtn (list){
  104. for (var i = 0; i < list.length; i++) {
  105. var imgsrc = $(list[i]).find('iframe').attr('name');
  106. if(imgsrc==undefined){
  107. imgsrc = $(list[i]).find('img').attr('src');
  108. var listCon = '<li><img src="'+imgsrc+'""></li>';
  109. }else{
  110. var listCon = '<li><iframe src="'+imgsrc+'""></li>';
  111. }
  112. $(listCon).appendTo(blist);
  113. //隐藏button中的数字
  114. //list.css('text-indent', '10000px');
  115. };
  116. blist.find('li').first().addClass('on');
  117. $('.btn_list li').hover(function() {
  118. var _index = $(this).index();
  119. doMove(_index);
  120. });
  121. }
  122. </script>