html
<head>
<script src="<!--{$skinpath}-->js/jquery-1.4.3.min.js" type="text/javascript"></script>
<script src="<!--{$skinpath}-->js/shop.js" type="text/javascript"></script>
<script src="<!--{$skinpath}-->js/thickbox-compressed.js" type="text/javascript"></script>
<link href="<!--{$skinpath}-->css/thickbox.css" media="screen" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<!--{$skinpath}-->js/jquery-1.8.2.min.js"></script>
</head>
<body>
<div class="index_nav ZYR clear">
<ul>
<li onmouseover="dropshow(this,'.index_nav_inf')" onmouseout="drophide(this,'.index_nav_inf')"><a href="solution.php?mod=list&cid=1" class="nav">111111</a>
<div class="index_nav_inf" style="left:50px; width:298px;">
(这是一个列表)
</div>
</li>
<script type="text/javascript">
function click_taobao(){
var province_temp=document.getElementById('province_id').innerHTML;
javascript:PopResellerList(province_temp);
}
</script>
</body>
以上是我的html中调用的js,其中shop.js是我自己写的一个方法,主要用于点击图片弹出一个div
shop.js主要代码如下:
//遮罩背景设置
var sWidth,sHeight;
sWidth = document.body.scrollWidth;
sHeight = document.body.scrollHeight;
//创建遮罩背景
var maskObj = document.createElement("div");
maskObj.setAttribute('id','maskdiv');
maskObj.style.position = strPosition;
maskObj.style.top = "0";
maskObj.style.left = "0";
maskObj.style.background = "#777";
maskObj.style.filter = "Alpha(opacity=30);";
maskObj.style.opacity = "0.3";
maskObj.style.width = sWidth+"px";
maskObj.style.height = sHeight+"px";
maskObj.style.zIndex = "1000";
document.body.appendChild(maskObj);
//创建弹出窗口
var comeoutdiv = document.createElement("div")
comeoutdiv.setAttribute("id","comeoutdiv");
comeoutdiv.style.position =strPosition;
comeoutdiv.style.top = ((screen.availHeight - msgh) / 4+document.body.scrollTop) + "px";
comeoutdiv.style.left = ((document.body.clientWidth - msgw)/ 2+document.body.scrollLeft ) + "px";
comeoutdiv.style.width = msgw + "px";
comeoutdiv.style.height = msgh + "px";
comeoutdiv.style.zIndex = "1001";
//创建内容
var contentdiv = document.createElement("div");
contentdiv.setAttribute("id","contentdiv");
contentdiv.style.padding = "0px";
contentdiv.style.lineHeight = "3em";
contentdiv.innerHTML = con;
//生成窗口
document.body.appendChild(comeoutdiv);
document.getElementById("comeoutdiv").appendChild(contentdiv);
图片和点击事件是在数据库中保存的字段
<a id="kkk" href="javascript:click_taobao();"><img border="0" alt="" src="./data/attachment/201301/28/691580e30e31acb089c330cf69a3a5e9.jpg" /><a>现在问题来了 如果我把自己写的shop.js放在jquery库之前,那么点击图片就什么都没有 只有遮罩(好像不是我代码里的,因为我删了遮罩还是会有) 如果我把自己写的shop.js放在jquery库之后,那么onmouseover,onmouseout等就不能显示下拉列表 查了一下 可能是引用起了冲突,用了jquery.noConflict等方法还是不好用,求高手赐教!!!!!!!!我白天在线 QQ 624123446
javascriptjshtmljqueryclass
<head>
<script src="<!--{$skinpath}-->js/jquery-1.4.3.min.js" type="text/javascript"></script>
<script src="<!--{$skinpath}-->js/shop.js" type="text/javascript"></script>
<script src="<!--{$skinpath}-->js/thickbox-compressed.js" type="text/javascript"></script>
<link href="<!--{$skinpath}-->css/thickbox.css" media="screen" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<!--{$skinpath}-->js/jquery-1.8.2.min.js"></script>
</head>
<body>
<div class="index_nav ZYR clear">
<ul>
<li onmouseover="dropshow(this,'.index_nav_inf')" onmouseout="drophide(this,'.index_nav_inf')"><a href="solution.php?mod=list&cid=1" class="nav">111111</a>
<div class="index_nav_inf" style="left:50px; width:298px;">
(这是一个列表)
</div>
</li>
<script type="text/javascript">
function click_taobao(){
var province_temp=document.getElementById('province_id').innerHTML;
javascript:PopResellerList(province_temp);
}
</script>
</body>
以上是我的html中调用的js,其中shop.js是我自己写的一个方法,主要用于点击图片弹出一个div
shop.js主要代码如下:
//遮罩背景设置
var sWidth,sHeight;
sWidth = document.body.scrollWidth;
sHeight = document.body.scrollHeight;
//创建遮罩背景
var maskObj = document.createElement("div");
maskObj.setAttribute('id','maskdiv');
maskObj.style.position = strPosition;
maskObj.style.top = "0";
maskObj.style.left = "0";
maskObj.style.background = "#777";
maskObj.style.filter = "Alpha(opacity=30);";
maskObj.style.opacity = "0.3";
maskObj.style.width = sWidth+"px";
maskObj.style.height = sHeight+"px";
maskObj.style.zIndex = "1000";
document.body.appendChild(maskObj);
//创建弹出窗口
var comeoutdiv = document.createElement("div")
comeoutdiv.setAttribute("id","comeoutdiv");
comeoutdiv.style.position =strPosition;
comeoutdiv.style.top = ((screen.availHeight - msgh) / 4+document.body.scrollTop) + "px";
comeoutdiv.style.left = ((document.body.clientWidth - msgw)/ 2+document.body.scrollLeft ) + "px";
comeoutdiv.style.width = msgw + "px";
comeoutdiv.style.height = msgh + "px";
comeoutdiv.style.zIndex = "1001";
//创建内容
var contentdiv = document.createElement("div");
contentdiv.setAttribute("id","contentdiv");
contentdiv.style.padding = "0px";
contentdiv.style.lineHeight = "3em";
contentdiv.innerHTML = con;
//生成窗口
document.body.appendChild(comeoutdiv);
document.getElementById("comeoutdiv").appendChild(contentdiv);
图片和点击事件是在数据库中保存的字段
<a id="kkk" href="javascript:click_taobao();"><img border="0" alt="" src="./data/attachment/201301/28/691580e30e31acb089c330cf69a3a5e9.jpg" /><a>现在问题来了 如果我把自己写的shop.js放在jquery库之前,那么点击图片就什么都没有 只有遮罩(好像不是我代码里的,因为我删了遮罩还是会有) 如果我把自己写的shop.js放在jquery库之后,那么onmouseover,onmouseout等就不能显示下拉列表 查了一下 可能是引用起了冲突,用了jquery.noConflict等方法还是不好用,求高手赐教!!!!!!!!我白天在线 QQ 624123446
javascriptjshtmljqueryclass
建议用闭包包一下
写成
(function(){
...//你的代码
})();
形式,这样不会污染全局变量
2.shop.js应加载在页面底部,这样才能保证dom已生成
LZ可以把shop.js代码全部写在闭包里,这样就如1楼说的,避免了冲突
html
<head>
<script src="<!--{$skinpath}-->js/jquery-1.4.3.min.js" type="text/javascript"></script>
<script src="<!--{$skinpath}-->js/thickbox-compressed.js" type="text/javascript"></script>
<link href="<!--{$skinpath}-->css/thickbox.css" media="screen" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<!--{$skinpath}-->js/jquery-1.8.2.min.js"></script>
</head>
<body>
<div class="index_nav ZYR clear">
<ul>
<li onmouseover="dropshow(this,'.index_nav_inf')" onmouseout="drophide(this,'.index_nav_inf')"><a href="solution.php?mod=list&cid=1" class="nav">111111</a>
<div class="index_nav_inf" style="left:50px; width:298px;">
(这是一个列表)
</div>
</li>
</body>
<script src="<!--{$skinpath}-->js/shop.js" type="text/javascript" charset="gbk"></script>
<script type="text/javascript">
var click_taobao=function(){
var province_temp=document.getElementById('province_id').innerHTML;
PopResellerList(province_temp);
}
</script>
</html>
shop.js主要代码如下:
var PopResellerList=function (strprovince){
//document.write("<style type=\"text/css\">.close{float:right;cursor:default}</style>")
………(省略创建DIV等弹出框代码)
var CloseMsg =function(){
//移除对象
document.body.removeChild(document.getElementById("maskdiv"));
document.getElementById("comeoutdiv").removeChild(document.getElementById("contentdiv"));
document.body.removeChild(document.getElementById("comeoutdiv"));
}(这个是关闭方法)
}我试了一下 还是不行 和以前一样,onmouseover,onmouseout依旧不好用。我确定shop.js中没有涉及到onmouseover这些啊。请大神们再帮忙看看啊
LZ可以把shop.js代码全部写在闭包里,这样就如1楼说的,避免了冲突
看五楼我的回帖 有时间帮忙看看吧