Jquery 更改元素';使用CSS属性创建背景
我有一个有背景的div,我想在单击时更改背景的位置 这是我的jQuery代码片段:Jquery 更改元素';使用CSS属性创建背景,jquery,css,toggle,background-position,Jquery,Css,Toggle,Background Position,我有一个有背景的div,我想在单击时更改背景的位置 这是我的jQuery代码片段: $('#sprite').click(function () { $(this).css('backgroundPosition', '-40px'); }); 虽然这是正常工作,我想返回到原来的位置与'秒'点击,重置所有 嗯,这就是所谓的“回调”对吗 我试过这样做,但没有成功: $('#sprite').click(function () { $(this).css('backgroundPo
$('#sprite').click(function () {
$(this).css('backgroundPosition', '-40px');
});
虽然这是正常工作,我想返回到原来的位置与'秒'点击,重置所有
嗯,这就是所谓的“回调”对吗
我试过这样做,但没有成功:
$('#sprite').click(function () {
$(this).css('backgroundPosition', '-40px');
},function () {
$(this).css('backgroundPosition', '40px');
});
你应该考虑使用一个“切换”函数。它将允许您在两个不同的CSS类之间切换。。。查看本教程
与直接设置CSS属性不同的另一个选择是为您的背景创建一个CSS类,并简单地切换该类 CSS在课堂上这样做。这要容易得多
<style type="text/css">
#spite.moved {
background-position: -40px;
}
</style>
<script type="text/javascript">
$(function () {
$("#spite").click(function () {
$(this).toggleClass("moved");
});
});
</script>
#我感动了{
背景位置:-40px;
}
$(函数(){
$(“#”)。单击(函数(){
$(此).toggleClass(“移动”);
});
});
您误解了回调的概念。编程中的回调函数是在执行代码后立即调用的函数
就你而言,你说的是:
单击后,将我的背景位置设置为-40px。完成后,将其设置为40px(立即撤消函数刚刚执行的操作)
在这种情况下,您不需要使用回调函数。您需要设置一个切换,这样当用户单击您的元素时,一个函数将运行……然后,当他们下次单击该元素时,第二个函数将运行。是的,很快!顺便说一句,您可以自己使用切换,无需单击:
<style type="text/css">
.spritebg { background-position: -40px; }
</style>
$("#spite").click(function() {
$(this).toggleClass("spritebg");
});
<style type="text/css">
#spite.moved {
background-position: -40px;
}
</style>
<script type="text/javascript">
$(function () {
$("#spite").click(function () {
$(this).toggleClass("moved");
});
});
</script>