<SCRIPT type="text/javascript" language="javascript"> function init(){
var vWidth = "100";
var vHeight = "100";
var vImgPath = "1.jpg";
var vonClick = "playVideo";
var vonMouseOver = "playVideo";
var vonMouseOut = "playVideo";document.getElementById("playButton1").width = vWidth ; //可以显示
document.getElementById("playButton1").height= vHeight ;//可以显示
document.getElementById("playButton1").src = vImgPath ;//可以显示
document.getElementById("playButton1").onClick = vonClick ; //不可以.
document.getElementById("playButton1").onMouseOver = vonMouseOver ;//不可以.
document.getElementById("playButton1").onMouseOut = vonMouseOut ;//不可以.
} function playVideo() {
:
}
</SCRIPT>
<BODY onload=init()>
<IMG src="" name="playButton1" width="" height="" border="0" id="playButton1" onClick="" onMouseOver="" onMouseOut="" class="link"/>
:
:
var vHeight = "100";
var vImgPath = "1.jpg";
var vonClick = playVideo;
var vonMouseOver = playVideo;
var vonMouseOut = playVideo;document.getElementById("playButton1").width = vWidth ; //可以显示
document.getElementById("playButton1").height= vHeight ;//可以显示
document.getElementById("playButton1").src = vImgPath ;//可以显示
document.getElementById("playButton1").onclick = vonClick ; //不可以.
document.getElementById("playButton1").onmouseover = vonMouseOver ;//不可以.
document.getElementById("playButton1").onmouseout = vonMouseOut ;//不可以.
var vonClick = playVideo;
lihui_shine(浪尖赏花) ( ) 信誉:100 2007-08-31 15:34:21 得分: 0
var vonClick = playVideo;那如果被调函数有参数该怎么办??
function playVideo(a) {
:
}
setAttribute只是给属性赋值,并不能给事件赋值,
var vonClick = playVideo("t");
function playVideo(t){
return funtion (){
alert(t);
}
}
下面代码IE测试通过<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>new page</title>
<SCRIPT type="text/javascript" language="javascript">
function init(){
var vWidth = "100";
var vHeight = "100";
var vImgPath = "1.jpg";
var vonClick = playVideo("参数1");
var vonMouseOver = playVideo("参数2");
var vonMouseOut = playVideo("参数3");document.getElementById("playButton1").width = vWidth ; //可以显示
document.getElementById("playButton1").height= vHeight ;//可以显示
document.getElementById("playButton1").src = vImgPath ;//可以显示
document.getElementById("playButton1").onclick = vonClick ; //不可以.
document.getElementById("playButton1").onmouseover = vonMouseOver ;//不可以.
document.getElementById("playButton1").onmouseout = vonMouseOut ;//不可以.
}function playVideo(t) {
return function(){
alert(t);
}
}
</SCRIPT>
</head>
<BODY onload=init()>
<IMG src="" name="playButton1" width="" height="" border="0" id="playButton1" onClick="" onMouseOver="" onMouseOut="" class="link"/>
</body>
</html>
以上成功.
以下失败.
--------------------------- 如果有参数用闭包
var vonClick = playVideo("t");
function playVideo(t){
return funtion (){
alert(t);
}
}浪尖兄,这个办法是行的通的.可有参数的办法行不通,还没点击alert(t); 就出来了.再求:
var vonMouseOver = playVideo("参数2");
var vonMouseOut = playVideo("参数3");你3个用的是同一个函数,onmouseover,鼠标移上去就触发了,还用点吗,呵呵onmouseover 鼠标移上去时触发的事件
onmouseout 鼠标移开去时触发的事件
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>new page</title>
<SCRIPT type="text/javascript" language="javascript">
function init(){
var vWidth = "100";
var vHeight = "100";
var vImgPath = "1.jpg";
var vonClick = playVideo("单击了");
var vonMouseOver = playVideo("鼠标移上来了");
var vonMouseOut = playVideo("鼠标移出去了");document.getElementById("playButton1").width = vWidth ; //可以显示
document.getElementById("playButton1").height= vHeight ;//可以显示
document.getElementById("playButton1").src = vImgPath ;//可以显示
document.getElementById("playButton1").onclick = vonClick ; //不可以.
document.getElementById("playButton1").onmouseover = vonMouseOver ;//不可以.
document.getElementById("playButton1").onmouseout = vonMouseOut ;//不可以.
}function playVideo(t) {
return function(){
document.getElementById("div1").innerHTML=t;
}
}
</SCRIPT>
</head>
<BODY onload=init()>
<IMG src="" name="playButton1" width="" height="" border="0" id="playButton1" onClick="" onMouseOver="" onMouseOut="" class="link"/>
<div id=div1></div>
</body>
</html>
<ControlDesign>
<Grouping name="Player" >
<Passing No="1">
<onClick>playVideo('mov/s8.wmv')</onClick>
</Passing>
</Grouping>
</ControlDesign>取数据: JS xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.load("C:\\design.xml"); var e = xmlDoc.documentElement.selectNodes("/ControlDesign/Grouping"); var Pass = e.item(0).selectNodes("./Passing");var vonClick = Pass[0].selectSingleNode("onClick").text;
var Pass = e.item(i).selectNodes("./Passing"); for(j=0;j< Pass.length ;j++) { var vName = Pass[j].selectSingleNode("Name").text;
var vWidth = Pass[j].selectSingleNode("Width").text;
var vHeight = Pass[j].selectSingleNode("Height").text;
var vImgPath = Pass[j].selectSingleNode("Image").text; var vonClick = Pass[j].selectSingleNode("onClick").text; var vonMouseOver = Pass[j].selectSingleNode("onMouseOver").text; var vonMouseOut = Pass[j].selectSingleNode("onMouseOut").text;<!-- var aaa = playVideo("a");//测试用 --> document.getElementById(vName).width = vWidth ;
document.getElementById(vName).height= vHeight ;
document.getElementById(vName).src = vImgPath ;
<!-- document.getElementById(vName).onclick= aaa ;//测试用 -->
document.getElementById(vName).onMouseOver = vonMouseOver ;
document.getElementById(vName).onMouseOut = vonMouseOut ;
}
}
}
}function playVideo(u) {
return function(){
alert(u); // 加载时,会出来一次,再就报错了.
<!-- document.getElementById('mediaPlayerObj').filename = u; -->
}
}
function M_Img_Over(Nm_Img,Nm_Jpg){
return function(){
alert("M_Img_Over"); document.all(Nm_Img).src = Nm_Jpg ;
}
}</Script>
</HEAD><BODY onload="init()">
:
:
:
相关XML:
<?xml version='1.0' encoding='UTF-8'?>
<ControlDesign>
<Grouping name="Img_Player" >
<Passing No="1">
<Name>s01</Name>
<Width>98</Width>
<Height>66</Height>
<Image>images/s01.jpg</Image>
<onClick>playVideo('mov/s1.wmv')</onClick>
<onMouseOver>M_Img_Over('s01','images/s01b.jpg')</onMouseOver>
<onMouseOut>M_Img_Over('s01','images/s01.jpg')</onMouseOut>
</Passing>
<Passing No="2">
<Name>s02</Name>
<Width>98</Width>
<Height>66</Height>
<Image>images/s02.jpg</Image>
<onClick>playVideo('mov/s2.wmv')</onClick>
<onMouseOver>M_Img_Over('s02','images/s02b.jpg')</onMouseOver>
<onMouseOut>M_Img_Over('s02','images/s02.jpg')</onMouseOut>
</Passing>
</Grouping>
</ControlDesign>
obj.onmouseover = function() { playVideo("鼠标移出去了"); };所有情况
eval("obj.onmouseover = function() { playVideo(\"" + str + "\"); }");
obj.onmouseover = function() { playVideo(o); };
playVideo("鼠标移上来了");
playVideo("鼠标移出去了");我这些值是从XML中读出来的,我怎么设都不行,,再求...
window.onload = function () {
var vWidth = "150";
var vHeight = "60";
var vImgPath = "http://www.csdn.net/ui/styles/public_header_footer/logo_csdn.gif";
var vonClick = playVideo;
var vonMouseOver = playVideo;
var vonMouseOut = playVideo;
Function.prototype.raFunc = function () {
var wc = this, arg = Array.apply(null, arguments);
return function () {
wc.apply(null, arg);
};
};
var playButton1 = document.getElementById("playButton1");
playButton1.width = vWidth ; //可以显示
playButton1.height= vHeight ;//可以显示
playButton1.src = vImgPath ;//可以显示
playButton1.onclick = vonClick.raFunc("click") ; //不可以.
playButton1.onmouseover = vonMouseOver.raFunc("over") ;//不可以.
playButton1.onmouseout = vonMouseOut.raFunc("out") ;//不可以.
};
var playVideo = function () {
alert("这个是CSDN的LOGO:形式参数个数有 " + arguments.length + " 个\n" + arguments[0]);
};
</script>
<input id="playButton1" type="image" />
muxrwc(需时越兔) ( ) 信誉:100
playButton1.onmouseover = vonMouseOver.raFunc("img1","img2") ;
playButton1.onmouseout = vonMouseOut.raFunc("img2","img1") ;
var playVideo = function () {
//图片变换;//行不通.
document.all(arguments[0]).src = arguments[1] ;};浪兄的图片变换也行不通.再求
Function.prototype.raFunc = function () {
var wc = this, arg = Array.apply(null, arguments), obj = arg.shift();
return function () {
wc.apply(obj, arg);
};
};
var load_img = {
imgs : [],
load : function () {
return (this.imgs[this.imgs] = (new Image)).src = arguments[0];
}
};
window.onload = function () {
var vWidth = "150", vHeight = "60"
, imgs = [
load_img.load("http://www.csdn.net/ui/styles/public_header_footer/logo_csdn.gif"),
load_img.load("http://zi.csdn.net/120.60_5.gif")
]
, vonClick = playVideo, vonMouseOver = playVideo, vonMouseOut = playVideo
, playButton1 = document.getElementById("playButton1");
playButton1.width = vWidth, playButton1.height = vHeight, playButton1.src = imgs[0]
, playButton1.onclick = vonClick.raFunc(playButton1, "click")
, playButton1.onmouseover = vonMouseOver.raFunc(playButton1, imgs[1])
, playButton1.onmouseout = vonMouseOut.raFunc(playButton1, imgs[0]);
};
var playVideo = function (a) {
if (a != "click") {
this.src = a;
} else alert("click");
};
</script>
<input id="playButton1" width="150" height="60" type="image" />
var vWidth = "100";
var vHeight = "100";
var vImgPath = "1.jpg";
//var vonClick = playVideo();
//var vonMouseOver = playVideo();
//var vonMouseOut = playVideo();document.getElementById("playButton1").width = vWidth ; //可以显示
document.getElementById("playButton1").height= vHeight ;//可以显示
document.getElementById("playButton1").src = vImgPath ;//可以显示
document.getElementById("playButton1").onclick=playVideo;//不可以.
document.getElementById("playButton1").onmouseover=playVideo;//不可以.
document.getElementById("playButton1").onmouseout=playVideo;//不可以.
} function playVideo() {
... }</SCRIPT>
<BODY onload=init()>
<IMG src="" name="playButton1" width="" height="" border="0" id="playButton1" onClick="" onMouseOver="" onMouseOut="" class="link"/>
var wc = this, arg = Array.apply(null, arguments), obj = arg.shift();
return function () {
wc.apply(obj, arg);
};
};学习的路,还很长.