javascript - 如何在javascript OnClick中使用jQuery click功能

原文 标签 javascript jquery animation scroll 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运行(此代码将在一个简单的类上运行)。

如何使用带有jQuery滚动的onClick JavaScript Ajax或可以使用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

将scrollTop设置为大于零的数字时,请使用“ px”。


scrollTop: (jQuery(document).height() * 0.9) + 'px'




4.让我弄清楚

看来您不太了解jQuery与JavaScript的关系。 JavaScript是一种编程语言。 jQuery是用JavaScript编写的库或插件。因此,jQuery内联代码= JavaScript内联代码。

关于javascript - 如何在javascript OnClick中使用jQuery click功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29902901/

相关文章:

javascript - 使用 headless Chrome 以编程方式捕获 AJAX 流量

javascript - Firestore Uncaught TypeError : doc. 数据不是函数

javascript - Linq.js : Group By two properties (fields)

javascript - 打开弹出窗口时加载代码

jquery - 按钮单击JQuery不起作用

javascript - 隐藏/显示具有相同ID的多个li内容

javascript - 使用 Jquery Ajax 无法访问单选按钮进行搜索

javascript - 在空白处跳跃动画

ios - SpriteKit,如何从 Adob​​e After Effects 导入动画

android - 如何在 native react 中使用 Animated.diffClamp