如何使用 jQuery 单击函数和 javascript OnClick
how to use jQuery click function with javascript OnClick
我想使用:
$("...").animate()
加载 onClick
JavaScript Ajax 。但这有一些问题:
我尝试这样使用 jQuery :
function Ajaxrequest(){
var xmlHttp;try{xmlHttp=new XMLHttpRequest();return xmlHttp;}
catch (e){
try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
return xmlHttp;
}
catch (e){
try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
return xmlHttp;}
catch (e){
alert("Browser Not support Ajax");
return false;}
}
}
function showtopic(str) {
$("html,body").animate({
scrollTop: jQuery(document).height()
}, 2000);
var xmlHttp = Ajaxrequest();
var issolve = "<a href=\'#topic\' title=\'دادن امتیاز\' class=\"fade\" id=\'solved\' onclick=\"showbest('faq.php?like=2lkha96slh','solved' , 'notsolved')\">+1 مشکلم حل شد</a><a href=\"http://my-bb.ir\" id=\"notsolved\" class=\"fade\" title=\"پرسیدن سوال\" target=\"_blank\" >نبابا حل نشد ! میخوام سوال بپرسم</a></li><br/><br/>";
if (str == "") {
document.getElementById("showtopic").innerHTML = "";
return;
}
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState > 0 && xmlHttp.readyState < 4) {
document.getElementById("tftopic").innerHTML = loadingmessage;
}
if (xmlHttp.readyState == 4) {
document.getElementById("showtopic").innerHTML = xmlHttp.responseText;
document.getElementById("issolved").innerHTML = issolve;
}
}
xmlHttp.open("GET", str, true);
xmlHttp.send();
}
但是没用!
然后我做了一个 jQuery 内联代码,如下所示:
jQuery('.go-bott').click(function () {
$('html,body').animate({
scrollTop: (jQuery(document).height() * 0.9)
}, 2000);
return false;
});
并在 JavaScript onClick
旁边使用它,但是 Ajax 不允许 jQuery 运行(此代码将 运行一个简单的 class).
我怎样才能拥有 onClick
JavaScript Ajax 和 jQuery 卷轴 或 我可以使用 JavaScript 滚动页面吗?
提前致谢
1。有些事
为了更加安全,您应该执行以下操作:
在你的回调函数中:
if (xmlHttp.readyState > 0 && xmlHttp.readyState < 4) {
document.getElementById("tftopic").innerHTML = loadingmessage;
} else if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
document.getElementById("showtopic").innerHTML = xmlHttp.responseText;
document.getElementById("issolved").innerHTML = issolve;
} else {
// do your error handling here
}
并且您可以优化一些代码以使用更多 jQuery:
您可以设置元素的 innerHTML 而不是使用 document.getElementById("element-name").innerHTML = 'string' 通过使用 jQuery:
$('#element-name').html('string'); // or jQuery(...).html(...)
你可以写 $(...) 而不是 jQuery(...),节省你一些打字:)(不要在使用 jQuery.noConflict 时使用())
2。点击
<div id="some-element" onclick="showtopic('your-attribute')"></div>
3。滚动顶部
在将 scrollTop 设置为大于零的数字时使用 'px'。
scrollTop: (jQuery(document).height() * 0.9) + 'px'
4。让我直截了当
看来您不太清楚 jQuery 与 JavaScript 的关系。 JavaScript 是一种 编程语言 。 jQuery 是一个 库或插件 ,用 JavaScript 编写。所以,jQuery内联代码=JavaScript内联代码。
我想使用:
$("...").animate()
加载 onClick
JavaScript Ajax 。但这有一些问题:
我尝试这样使用 jQuery :
function Ajaxrequest(){
var xmlHttp;try{xmlHttp=new XMLHttpRequest();return xmlHttp;}
catch (e){
try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
return xmlHttp;
}
catch (e){
try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
return xmlHttp;}
catch (e){
alert("Browser Not support Ajax");
return false;}
}
}
function showtopic(str) {
$("html,body").animate({
scrollTop: jQuery(document).height()
}, 2000);
var xmlHttp = Ajaxrequest();
var issolve = "<a href=\'#topic\' title=\'دادن امتیاز\' class=\"fade\" id=\'solved\' onclick=\"showbest('faq.php?like=2lkha96slh','solved' , 'notsolved')\">+1 مشکلم حل شد</a><a href=\"http://my-bb.ir\" id=\"notsolved\" class=\"fade\" title=\"پرسیدن سوال\" target=\"_blank\" >نبابا حل نشد ! میخوام سوال بپرسم</a></li><br/><br/>";
if (str == "") {
document.getElementById("showtopic").innerHTML = "";
return;
}
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState > 0 && xmlHttp.readyState < 4) {
document.getElementById("tftopic").innerHTML = loadingmessage;
}
if (xmlHttp.readyState == 4) {
document.getElementById("showtopic").innerHTML = xmlHttp.responseText;
document.getElementById("issolved").innerHTML = issolve;
}
}
xmlHttp.open("GET", str, true);
xmlHttp.send();
}
但是没用!
然后我做了一个 jQuery 内联代码,如下所示:
jQuery('.go-bott').click(function () {
$('html,body').animate({
scrollTop: (jQuery(document).height() * 0.9)
}, 2000);
return false;
});
并在 JavaScript onClick
旁边使用它,但是 Ajax 不允许 jQuery 运行(此代码将 运行一个简单的 class).
我怎样才能拥有 onClick
JavaScript Ajax 和 jQuery 卷轴 或 我可以使用 JavaScript 滚动页面吗?
提前致谢
1。有些事
为了更加安全,您应该执行以下操作:
在你的回调函数中:
if (xmlHttp.readyState > 0 && xmlHttp.readyState < 4) { document.getElementById("tftopic").innerHTML = loadingmessage; } else if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { document.getElementById("showtopic").innerHTML = xmlHttp.responseText; document.getElementById("issolved").innerHTML = issolve; } else { // do your error handling here }
并且您可以优化一些代码以使用更多 jQuery:
您可以设置元素的 innerHTML 而不是使用 document.getElementById("element-name").innerHTML = 'string' 通过使用 jQuery:
$('#element-name').html('string'); // or jQuery(...).html(...)
你可以写 $(...) 而不是 jQuery(...),节省你一些打字:)(不要在使用 jQuery.noConflict 时使用())
2。点击
<div id="some-element" onclick="showtopic('your-attribute')"></div>
3。滚动顶部
在将 scrollTop 设置为大于零的数字时使用 'px'。
scrollTop: (jQuery(document).height() * 0.9) + 'px'
4。让我直截了当
看来您不太清楚 jQuery 与 JavaScript 的关系。 JavaScript 是一种 编程语言 。 jQuery 是一个 库或插件 ,用 JavaScript 编写。所以,jQuery内联代码=JavaScript内联代码。