2012-12-30 75 views
0

我有以下代碼:的slideToggle生效

<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.otherlink我想知道爲什麼?以及如何解決它?

我嘗試用調理語句來做到這一點,這裏是我的代碼:(此代碼不能在所有的工作!)

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'); 
} 
    }); 
} 

我100%肯定的是,錯就錯在我的jQuery代碼。所以請不要詢問html或css。

+0

安置自己的HTML .. – Anujith

+0

@shnisaka請張貼HTML也或者只是[小提琴](http://jsfiddle.net/)它... –

+0

我已經回答了我的問題。 – shnisaka

回答

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'); 
} 
    }); 
} 
+1

是有什麼區別的b/W UR發佈任務ND該ANS?他們難道不是一樣的嗎? – sourcecode

+0

(「.otherlink」),而不是(.otherlink) – shnisaka

0

我認爲在CSS 「backgroundposition」 是正確的,而不是 「backgroundposition」。 另外background -position改變背景的位置而不是元素本身的位置,所以你必須使用position屬性。

 <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> 
+0

修復了它。但仍然無法正常工作:( – shnisaka

+0

具有u試圖警告在代碼中它的工作,如果工作再嘗試$(本).attr(「風格」,「背景位置:0像素0像素!」);? – sourcecode

+0

警報功能不工作:( – shnisaka