2013-03-26 37 views
1

我有這個工作jQuery +內嵌JavaScript,它會導致與現有的jQuery衝突。如何將JavaScript內聯代碼轉換爲jQuery?

<script> 
var jq=jQuery.noConflict(); 
function goto(id, t){ 
    jq(".contentbox-wrapper").animate({"left": -(jq(id).position().left)}, 600); 
    jq('#slide a').removeClass('active'); 
    jq(t).addClass('active'); 
} 
</script> 
&lta class="active" href="#" onClick="goto('#kr', this); return false">
&lta class="active" href="#" onClick="goto('#en', this); return false">

(我試圖解決衝突,你可以看到,但我相信,衝突起因於內嵌的JavaScript。)

我如何轉換這種內嵌的JavaScript?謝謝。

+1

你是什麼意思,當你說它與現有的jQuery存在衝突? – Raghu 2013-03-26 18:44:36

回答

1

可以綁定它想:

<script> 
//var jq=jQuery.noConflict(); 
function goto1(id, t){ 
    ... 
    return false; // return false to prevent the link's default action 
} 

// means once your DOM is ready, and a.active is available to be bound 
$(document).ready(function() { 

    // bind all clicks on a.active to the function 'goto1' 
    $('a.active').click(goto1); 
}); 
</script> 

goto變量名可以是混亂的潛在原因以後。將其更改爲goto1

0

內聯JS(嵌入到HTML)幾乎不可維持,我建議:

HTML:

<div id="parent"> <!-- or any other parent el. --> 
    <a href="#">Anchor</a> 
</div> 

的jQuery:

(function($){ // remap $ to jQuery 

    $(function(){ // DOM ready 

    $('#parent').on('click', 'a', function(ev){ 
     ev.preventDefault(); 
     var krPos = $('#kr').position().left; 
     $(".contentbox-wrapper").animate({"left": -krPos }, 600); 
     $('#slide a').removeClass('active'); 
     $(this).addClass('active'); 
    }); 

    }); 

})(jQuery); 
+0

您可以刪除外部函數,只需執行'jQuery(function($){// DOM ready')。'jQuery'函數將被傳遞給'.ready()'回調的''''參數,給 – 2013-03-26 18:51:29

+0

@amnotiam肯定感謝您的提示! – 2013-03-26 18:54:19

+0

@amnotiam但我會離開它就像它是因爲你可以把其他東西像'$(window).load(function(){'和其他東西 - 總是在第一個函數(remapper)周邊內 – 2013-03-26 18:56:19

0
$('.active').on('click', function() { 
var $this = $(this);   
var id = $this.attr('href'); 
$(".contentbox-wrapper").animate({"left": -($(id).position().left)}, 600); 
$('#slide a').removeClass('active'); 
$this.addClass('active'); 
return false; 
}); 

huangism回答了這個問題對我來說。 https://stackoverflow.com/users/1058134/huangism

相關問題