将jQuery转换为Prototype(小代码)?

时间:2011-09-06 00:26:33

标签: prototypejs jquery

我有一个运行n Vivvo CMS的网站。它主要基于Prototype。我想在网站上实现这个功能,但是基于jQuery。虽然我使用jQuery.noconflict,它仍然无法运行。

我想将以下代码从jQuery转换为Prototype,有人可以帮助我吗?

$(document).ready(function(){
 $(window).scroll(function(){
  // get the height of #wrap
  var h = $('#wrap').height();
  var y = $(window).scrollTop();
  if( y > (h*.25) && y < (h*.75) ){
   // if we are show keyboardTips
   $("#tips").fadeIn("slow");
  } else {
   $('#tips').fadeOut('slow');
  }
 });
});

谢谢。

1 个答案:

答案 0 :(得分:6)

你当然可以使用jQuery.而不是$.,但这是一个非常多的额外打字(:))。

在我必须混合Prototype和jQuery的极少数情况下,我更喜欢像这样处理它。

将jQuery置于noConflict模式

<script>jQuery.noConflict()</script>

然后将jQuery代码包装在:

(function($) {

    //Now I can do jQuery stuff and use the $
    $(document).ready( function() {

    });

})(jQuery)

您正在做的是创建一个调用自身的anonymous function,并将jQuery对象作为参数传递给函数。

美妙之处在于函数内部的所有内容都只是本地 ,所以你不必担心函数内部的$ stomping整个Prototype 您不必忍受将jQuery代码转换为Prototype的痛苦。