【问题标题】:display image in div and rotate in every 5 sec在 div 中显示图像并每 5 秒旋转一次
【发布时间】:2013-07-28 14:49:26
【问题描述】:

我需要使用 jquery 设计基本图像滑块,以在宽度 (312px X 214px) 的 div 中显示图像。页面加载时,循环显示图像连续;每 5 秒从左向右滑动一次。

在 FeaturedPropertyImgSlider 函数中,我可以使用 jquery 动画将 div 向左滑动,但只能滑动一次。????

非常感谢提前

HTML

<div class="highlight_Block" id="FeaturesList_block">
     <div id="img_wrapper_05">
          <ul id="FeaturesList_Ul">

           <li id="DEMO1_000001" class="FeaturesList_li">
              <img src="/photos/demo1-000001-p-w-1.jpg" height="214" width="321">
           </li>

           <li id="DEMO1_000002" class="FeaturesList_li">
              <img src="/photos/demo1-000001-p-w-2.jpg" height="214" width="321">
           </li>

           <li id="DEMO1_000003" class="FeaturesList_li">
              <img src="/photos/demo1-000001-p-w-3.jpg" height="214" width="321">
           </li>

          </ul>
     </div>
</div>

jQuery

​​>
$("#FeaturesList_Ul").append("<li id=" + featured_prop.prop_list[index] + " class='FeaturesList_li'><img src='" + featured_prop.prop_img_url[index] + "' height='214' width='321' /></li>");

调用函数运行滑块

setInterval(function () {

      var xyPosition_05 = $("#img_wrapper_05").position();

      var next_X_Position = xyPosition_05.left + 321;

      next_X_Position = '-' + next_X_Position + 'px'

      $("#img_wrapper_05").animate({ left: next_X_Position }, 1000);

},5000);

CSS

#FeaturesList_Ul {
  list-style-type:none;
  margin:0px;
  padding:0px;
}

.FeaturesList_li{
  display:inline-block;
}

#img_wrapper_05 {
   width:auto;
   height:214px;
   position:absolute;
   background-color:green;
}

【问题讨论】:

  • 你有没有尝试过?
  • 在 FeaturedPropertyImgSlider() 函数中我尝试过点击事件,但我想在页面加载时自行处理......我还找不到答案!
  • 一个简单的谷歌搜索“在页面加载时执行 javascript”会告诉你

标签: javascript jquery html


【解决方案1】:

制作滑块的问题比您想象的要复杂。对于这样一个简单的任务,除非你有很好的 jQuery 技能,否则从头开始编写它是大材小用的。我推荐循环插件

http://jquery.malsup.com/cycle/

结帐“向左滚动”我相信这就是你想要的:

http://jquery.malsup.com/cycle/browser.html


那么它应该类似于

$('#FeaturesList_Ul').cycle({
    fx:      'scrollLeft', 
    speed:    300, 
    timeout:  2000 
});

您可能需要稍微修改一下您的 CSS。祝你好运!

【讨论】:

  • 我已经弄清楚了..我已经将图像放在带有 css 属性内联(水平)的 li 标签中,并将 ul 放在 div "#img_wrapper_05" 中,宽度为:auto;并将这个 div 放在另一个 div highlight_Block 宽度:312px 的图像大小和溢出隐藏。现在我只需要每 5 秒为 #img_wrapper_05" left:312px 设置动画。我的动画可以工作,但只有一次。
  • 对,你需要循环回到开头,不是超快的滑回到开头,而是让第一张图片从右边滑进去。这不是你的方法解决的问题。
  • 为了让您的方法最终发挥作用,您需要制作第二个 #img_wrapper ,您可以将其用于从最后一张幻灯片到第一张幻灯片的关键过渡,或者您可以使用插件和不劳而获地做同样的事情。
  • 我上面有编辑 setInterval 函数,我的问题是,它只动画一次。一旦对这个问题进行排序,我可以计算 li 标签的总数并将计数器放入间隔中,如果条件检查动画的数量 == li 标签的数量...一旦条件成立,我会将计数器设置为 0 并放入 #img_wrapper_05原位
  • 我知道这个动画正在运行jsfiddle.net/3GHaf 所以我一定是做错了停止 setInterval 函数???
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-21
  • 1970-01-01
  • 2012-07-02
  • 2017-11-11
  • 1970-01-01
  • 2021-10-11
  • 2014-10-16
相关资源
最近更新 更多