我有一些工作JavaScript,我想转换为纯jQuery。请帮我。这是我的完整页面代码:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function Test1(){
w = window.open('test1.html', 'popup1', 'width=800,height=600');
setInterval("Test2()", 5000);
}
function Test2(){
if(w != null){
if(w.frames.length == 1){
return false;
}else{
window.open('test2.html', 'popup2', 'width=800,height=600');
}
}
}
</script>
</head>
<body>
<a href="#" onclick="Test1();">Test</a>
</body>
</html>
感谢。
答案 0 :(得分:3)
我唯一真正改变的是你的点击处理程序。
$('a').click(Test1);
但是,您的主播的href
属性指向#
,这是一个坏主意。使其指向有效资源,如果没有,请使用更合适的元素,例如button
。
我也会改变这一行...
setInterval("Test2()", 5000);
...到...
setInterval(Test2, 5000);
您不需要或不需要引号,否则JavaScript必须以类似于eval()
的方式评估您的字符串。
答案 1 :(得分:0)
唯一可以实际改变的是click
处理程序。
$('a').click(function() { /* body of Test1 */ });
您可以适当更新您的选择器。
答案 2 :(得分:0)
您可以选择使用Jquery UI dialog
之类的内容,而不是使用window.open答案 3 :(得分:0)
它不需要太多,jQuery几乎没有进入它 - 大多数人宁愿将jQuery转换为“纯Javascript”,而不是相反!
setInterval("Test2()", 5000);
应为setInterval(Test2, 5000);
if(w != null)
- 什么是w
?
对于真正的jQuery,将其包装在document.ready()
处理程序
<html>
<head>
<title>Test</title>
<script src="jquery.js"> </script>
<script>
$(document).ready(function() {
var w = null;
function Test1() {
w = window.open('test1.html', 'popup1', 'width=800,height=600');
setInterval(Test2, 5000);
}
function Test2() {
if (w == null || w.frames.length == 1) {
return;
}
window.open('test2.html', 'popup2', 'width=800,height=600');
}
// bind the click handler
$('a').click(Test1);
});
</script>
</head>
<body>
<a href="#">Test</a>
</body>
</html>