Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery动画功能有问题吗?_Jquery_Html_Css_Slider_Jquery Animate - Fatal编程技术网

jQuery动画功能有问题吗?

jQuery动画功能有问题吗?,jquery,html,css,slider,jquery-animate,Jquery,Html,Css,Slider,Jquery Animate,我需要一个简单的三张幻灯片滑块,所以我没有使用jQ插件,而是自己手工编写。代码可以工作,但动画在2-3帧中出现,而不是在20帧以上出现,除非在IE6和IE7中,动画在20-30帧中完美地出现。在所有其他浏览器(IE8、Firefox、Chrome、Safari、Opera)中,它都会以一种好像电脑挂起的动作来制作动画。如果有人知道为什么会这样,请告诉我。我不想使用一个笨重的插件,然后再设计它 HTML: jQuery: $('#slide-but-1').click(function(){ $(

我需要一个简单的三张幻灯片滑块,所以我没有使用jQ插件,而是自己手工编写。代码可以工作,但动画在2-3帧中出现,而不是在20帧以上出现,除非在IE6和IE7中,动画在20-30帧中完美地出现。在所有其他浏览器(IE8、Firefox、Chrome、Safari、Opera)中,它都会以一种好像电脑挂起的动作来制作动画。如果有人知道为什么会这样,请告诉我。我不想使用一个笨重的插件,然后再设计它

HTML:

jQuery:

$('#slide-but-1').click(function(){
$('#slide-1').animate({"left": "0px"}, "slow");
$('#slide-2').animate({"left": "467px"}, "slow");
$('#slide-3').animate({"left": "934px"}, "slow");
});
$('#slide-but-2').click(function(){
$('#slide-1').animate({"left": "-467px"}, "slow");
$('#slide-2').animate({"left": "0px"}, "slow");
$('#slide-3').animate({"left": "467px"}, "slow");
});
$('#slide-but-3').click(function(){
$('#slide-1').animate({"left": "-934px"}, "slow");
$('#slide-2').animate({"left": "-467px"}, "slow");
$('#slide-3').animate({"left": "0px"}, "slow");
});

我怀疑问题在于幻灯片的样式,即
float:left
-它是多余的,因为您使用绝对定位

此外,如果您有一个额外的幻灯片容器,您可以获得更好的性能,如下所示:

<div class="fl-left" id="slide-box">
    <div id="slide-container">
         <div class="slide" />
         <div class="slide" />
         <div class="slide" />
    </div>
</div>


通过这种方式,您可以仅为容器设置动画,
$(“#幻灯片容器”).animate({left:0},“slow”)-生成的代码会更干净。

我怀疑问题在于幻灯片的样式,即
float:left
-它是多余的,因为您使用绝对定位

此外,如果您有一个额外的幻灯片容器,您可以获得更好的性能,如下所示:

<div class="fl-left" id="slide-box">
    <div id="slide-container">
         <div class="slide" />
         <div class="slide" />
         <div class="slide" />
    </div>
</div>


通过这种方式,您可以仅为容器设置动画,
$(“#幻灯片容器”).animate({left:0},“slow”)-生成的代码将更干净。

代码与我使用的jQuery Drop Shadow插件冲突。删除它使动画变得平滑。

代码与我使用的jQuery Drop Shadow插件冲突。删除它使动画变得平滑。

我最初使用容器,因为它明显减少了我的jQuery代码,但它挂起了,因此我认为应该尝试分别为每张幻灯片制作动画,但这并没有真正改变任何事情。我知道浮动:左,但删除它会因为某种原因破坏我的布局。我最初做容器的事情,因为它明显减少了我的jQuery代码,但它挂起了,因此我认为我应该尝试分别为每张幻灯片设置动画,但这并没有真正改变任何事情。我知道浮动:左,但出于某种原因,删除它会破坏我的布局。
<div class="fl-left" id="slide-box">
    <div id="slide-container">
         <div class="slide" />
         <div class="slide" />
         <div class="slide" />
    </div>
</div>