Javascript (js)使用jquery或类似工具平滑移动div x像素?
我有一张图片,当点击时应该将div向上移动约200px,我通过jquery设置它在不使用issue的情况下修改css,但它看起来不像我在其他网站上看到的那样“干净”或平滑 请原谅,我已经搜索了几个小时,但找不到执行此操作的函数/方法,我认为fadein/out可以执行此操作,但我相当确定它不能 谁能花点时间给我指出正确的方向吗?多谢各位 编辑:写完这篇文章后,我想也许我应该通过jquery快速增量地更改css,以模拟低fps的“滑动”。。希望有一个更简单的方法 EDIT2:目前正在使用这个,寻找一种方法来“顺利地”完成它,如果这样做有意义的话Javascript (js)使用jquery或类似工具平滑移动div x像素?,javascript,jquery,move,smooth,Javascript,Jquery,Move,Smooth,我有一张图片,当点击时应该将div向上移动约200px,我通过jquery设置它在不使用issue的情况下修改css,但它看起来不像我在其他网站上看到的那样“干净”或平滑 请原谅,我已经搜索了几个小时,但找不到执行此操作的函数/方法,我认为fadein/out可以执行此操作,但我相当确定它不能 谁能花点时间给我指出正确的方向吗?多谢各位 编辑:写完这篇文章后,我想也许我应该通过jquery快速增量地更改css,以模拟低fps的“滑动”。。希望有一个更简单的方法 EDIT2:目前正在使用这个,寻找
$('#Table_Topbar').hide();
var pix = "px";
var fix = $('#Table_Middle1').css('top');
var fix2 = fix.replace('px','');
var fixsub = (fix2 - 200);
var fixstring = fixsub.toString();
var fixconca = fixstring.concat(pix);
$('#Table_Middle1').css('top',fixconca);
如果您只想使用Javascript来实现这一点,那么您也可以简单地使用一个间隔,每xx毫秒更新一次css,对于60fps,您将使用16。这不是最好的办法
var i = parseInt($("#Table_Middle1").css("top"));
var animationLoop = setInterval(function() { i += 10; $("#Table_Middle1").css("top", i + "px"); }, 16);
更简单的方法是使用jQuery的动画api:。这是最跨浏览器友好的方式
$('#Table_Middle1").animate({top: "-=200px"}, 1000); // take 1 second to move up 200px
您还可以使用一个简单的类来完成同样的事情,并将JS简化为一个简单的类切换,这是最现代的方式
jQuery:
$('#Table_Middle1").addClass("class-to-trigger-animation");
css:
#Table_Middle1 { top: 500px; transition: top 1s ease; }
#Table_Middle1.class-to-trigger-animation { top: 300px }
如果你想要更复杂的动画,你可以考虑一个类似的库。
如果你想只用JavaScript来做这件事,你也可以简单地使用一个间隔来更新CSS每XX毫秒数,对于60fps,你会使用16。这不是最好的办法var i = parseInt($("#Table_Middle1").css("top"));
var animationLoop = setInterval(function() { i += 10; $("#Table_Middle1").css("top", i + "px"); }, 16);
更简单的方法是使用jQuery的动画api:。这是最跨浏览器友好的方式
$('#Table_Middle1").animate({top: "-=200px"}, 1000); // take 1 second to move up 200px
您还可以使用一个简单的类来完成同样的事情,并将JS简化为一个简单的类切换,这是最现代的方式
jQuery:
$('#Table_Middle1").addClass("class-to-trigger-animation");
css:
#Table_Middle1 { top: 500px; transition: top 1s ease; }
#Table_Middle1.class-to-trigger-animation { top: 300px }
如果你想要更复杂的动画,你可以考虑一个类似的库。
你可以使用jsjQuery和CSS的组合,如 CSS: jQuery:$('.switch').click(function(){
$(this).toggleClass('active');
});
在这里查看小提琴:
但是,您需要调整参数,这只是一个简单的示例。您可以在这里使用js jQuery和CSS的组合,例如 CSS: jQuery:
$('.switch').click(function(){
$(this).toggleClass('active');
});
在这里查看小提琴:
您需要调整参数,但这只是一个简单的示例