在同一页面中使用JQuery和Prototype;需要更多解释!

时间:2010-04-03 05:05:15

标签: jquery prototypejs combinations

当我使用jquery灯箱(运行原型)和jquery新闻滑块时,我一直遇到问题。

我尝试了“noconflict”方法。

问题是我不知道放置代码的确切位置。

所以,在这里,我把我的脚本放在里面。

所以,请排除故障并解释我在哪里放补丁。

非常感谢你。

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>Jquery</title> 

<script type="text/javascript" src="lb/js/prototype.js"></script>
<script type="text/javascript" src="lb/js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="lb/js/lightbox.js"></script>
<link href="lb/css/lightbox.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="news/jquery-1.2.3.pack.js"></script>
<script type="text/javascript" src="news/jquery.easynews.js"></script>



<style>
html
{ background-color: #FFA928;
font: normal 76% "Arial", "Lucida Grande",Verdana,  Sans-Serif;
 color:black;
 }
a { text-decoration: none; font-weight: bold; }

.news_style{
display:none;
}
.news_show
{
background-color: white;
color:black;
width:350px;
height:150px;
font: normal 100% "Arial", "Lucida Grande",Verdana,  Sans-Serif;
overflow: auto; 

}
.news_border
{
background-color: white;
width:350px;
height:150px;
font: normal 100% "Arial", "Lucida Grande",Verdana,  Sans-Serif;
border: 1px solid gray;
padding: 5px 5px 5px 5px;
overflow: auto; 

}
.news_mark{
background-color:white ;
font: normal 70% "Arial", "Lucida Grande",Verdana,  Sans-Serif;
border: 0px solid gray;
width:361px;
height:35px;
color:black;
text-align:center;
}
.news_title{
font: bold 120% "Arial", "Lucida Grande",Verdana,  Sans-Serif;
border: 0px solid gray;
padding: 5px 0px 9px 5px;
color:black;
}
.news_show img{

margin-left: 5px;
margin-right: 5px;

}
.buttondiv
{
position: absolute;
/*float: left;*/
/*top: 169px;*/
padding: 5px 5px 5px 5px;
background-color:white ;
border: 1px solid gray;
/*border-top-color: white;*/
border-top:none;
height:20px;
}

</style>
<script>
$(document).ready(function(){
var newsoption1 = {
  firstname: "mynews",
  secondname: "showhere",
  thirdname:"news_display",
  fourthname:"news_button",
   newsspeed:'6000'
}
$.init_news(newsoption1);


var myoffset=$('#news_button').offset();

var mytop=myoffset.top-1;

$('#news_button').css({top:mytop});

});
</script>

</head>

3 个答案:

答案 0 :(得分:3)

我不知道你能得到多清楚的解释here

本质上,调用jQuery.noConflict会将$变量放弃到加载jQuery之前定义的任何变量。

之后你需要调用jQuery直接使用它。在我的情况下,我重新定义它:

$j = jQuery; // Now I can use $j for jQuery and $ for Prototype

您也可以在ready函数中使用$,如下所示:

jQuery(document).ready(function($) {
  // Code that uses jQuery's $ can follow here.
});

非常简单......你有什么困惑?

答案 1 :(得分:0)

嗯? jQuery灯箱不使用原型。你究竟在用什么?

试试这个http://leandrovieira.com/projects/jquery/lightbox/

如果可以,将原型一起转储。最好避免两个庞大的框架。

答案 2 :(得分:0)

在包含jquery lib之后立即调用$ .noConflict()。请参阅here

<script type="text/javascript" src="news/jquery-1.2.3.pack.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Code that uses other library's $ can follow here.
</script>