【发布时间】:2010-05-11 11:56:40
【问题描述】:
好的,所以我用一个脚本让 jQuery 与 MooTools 相处,通过在 jQuery 脚本的顶部添加这个:
var $j = jQuery.noConflict();
然后替换每个:
$(
与
$j(
但是如何让 MooTools 喜欢以下使用 jQuery 的脚本??
提前感谢您的任何意见,
特蕾西
//Fade In Content Viewer: By JavaScript Kit: http://www.javascriptkit.com
var fadecontentviewer={
csszindex: 100,
fade:function($allcontents, togglerid, selected, speed){
var selected=parseInt(selected)
var $togglerdiv=$("#"+togglerid)
var $target=$allcontents.eq(selected)
if ($target.length==0){ //if no content exists at this index position (ie: stemming from redundant pagination link)
alert("No content exists at page number "+selected+"!")
return
}
if ($togglerdiv.attr('lastselected')==null || parseInt($togglerdiv.attr('lastselected'))!=selected){
var $toc=$("#"+togglerid+" .toc")
var $selectedlink=$toc.eq(selected)
$("#"+togglerid+" .next").attr('nextpage', (selected<$allcontents.length-1)? selected+1+'pg' : 0+'pg')
$("#"+togglerid+" .prev").attr('previouspage', (selected==0)? $allcontents.length-1+'pg' : selected-1+'pg')
$target.css({zIndex: this.csszindex++, visibility: 'visible'})
$target.hide()
$target.fadeIn(speed)
$toc.removeClass('selected')
$selectedlink.addClass('selected')
$togglerdiv.attr('lastselected', selected+'pg')
}
},
setuptoggler:function($allcontents, togglerid, speed){
var $toc=$("#"+togglerid+" .toc")
$toc.each(function(index){
$(this).attr('pagenumber', index+'pg')
})
var $next=$("#"+togglerid+" .next")
var $prev=$("#"+togglerid+" .prev")
$next.click(function(){
fadecontentviewer.fade($allcontents, togglerid, $(this).attr('nextpage'), speed)
return false
})
$prev.click(function(){
fadecontentviewer.fade($allcontents, togglerid, $(this).attr('previouspage'), speed)
return false
})
$toc.click(function(){
fadecontentviewer.fade($allcontents, togglerid, $(this).attr('pagenumber'), speed)
return false
})
},
init:function(fadeid, contentclass, togglerid, selected, speed){
$(document).ready(function(){
var faderheight=$("#"+fadeid).height()
var $fadecontents=$("#"+fadeid+" ."+contentclass)
$fadecontents.css({top: 0, left: 0, height: faderheight, visibility: 'hidden'})
fadecontentviewer.setuptoggler($fadecontents, togglerid, speed)
setTimeout(function(){fadecontentviewer.fade($fadecontents, togglerid, selected, speed)}, 100)
$(window).bind('unload', function(){ //clean up
$("#"+togglerid+" .toc").unbind('click')
$("#"+togglerid+" .next", "#"+togglerid+" .prev").unbind('click')
})
})
}
}
【问题讨论】:
-
和你已经做的一样...用
$j(替换$(。 -
这不起作用,因为并非所有的 $ 都像 $( 那样设置,因此您可以简单地在两者之间添加一个“j”。有些是 $toc $target $selectedlink.ect.. .而不是美元符号/左括号,你有美元符号/名字。如果我把“j”放在那里,它真的搞砸了。
-
我觉得自己像个笨蛋!我做到了,不理会其他 $'names',它奏效了!我会成为一个SOB!但是,如果没有 Dimitar Christoff 的回答,这将不会奏效,因为无论如何,它都覆盖了 MooTools。让 2 个 jQuery 脚本与 1 个 MooTools 脚本一起工作的唯一方法是重新分配所有 3 个脚本中的 $!
-
你可以使用这个语法
var myElement2 = document.id('myElement');mootools.net/core/docs/1.5.1/Element/Element