繁体   English   中英

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

[英]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运行(此代码将在一个简单的类上运行)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM