我想使用:
$("...").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 运行(此代码将在一个简单的类上运行)。
如何使用 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:
您可以使用 jQuery 设置元素的 innerHTML,而不是使用 document.getElementById("element-name").innerHTML = 'string':
$('#element-name').html('string'); // or jQuery(...).html(...)
您可以编写 $(...) 而不是 jQuery(...),这样可以节省一些打字时间:)(使用 jQuery.noConflict() 时不要使用)
2。 onclick
<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 内联代码。
关于javascript - 如何通过 javascript OnClick 使用 jQuery 点击功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29902901/