如何使用 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内联代码。