slidetoggle有效

时间:2012-12-30 05:45:09

标签: jquery

我有以下代码:

<script type="text/javascript">
function shownavall()
{
$('#shownavall').slideToggle('slow', function() {
 $('.otherlink').toggle(function(){
    $(this).css('background-position', '0px 0px');
     }, function(){
    $(this).css('background-position', '25px 0px');
 });
  });

}
</script>

当我尝试调用该函数时,该函数在slidetoggle部分上起作用。但是不会更改css的{​​{1}}我想知道为什么?以及如何解决它?

我尝试使用条件语句来完成它,这是我的代码:(此代码根本不起作用!)

.otherlink

我100%确定错误在我的Jquery代码中。所以请不要询问html或css。

2 个答案:

答案 0 :(得分:0)

我认为在CSS中“background-position”是正确的而不是“backgroundposition”。 背景位置也会改变背景的位置而不是元素本身的位置,所以你必须使用位置属性。

      <script type="text/javascript">

  function shownavall()
    {
     $('#shownavall').slideToggle('slow', function() {
     $('.otherlink').toggle(function(){
  $(this).css({'position':'absolute','left':'100px','top':'150px'});

      }, function(){
    $(this).css({'position':'absolute','left':'0px','top':'0px'});
  });
    });

  }

     </script>

答案 1 :(得分:0)

function shownavall()
{
$('#shownavall').slideToggle('slow', function() {
if ($('.otherlink').css('background-position') == '25px 0px')
{
$('.otherlink').css('background-position', '0px 0px');
}
else 
{
$('.otherlink').css('background-position', '25px 0px');
}
  });
}