javascript - 如何通过 javascript OnClick 使用 jQuery 点击功能

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

如何使用 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/

相关文章:

javascript - JQuery .hover() 和 .bind() 试图控制动画行为

javascript - 查找 Rangy 标记 ID

javascript - 第一次加载主干 View 时出现问题

jquery - 如何使用绝对定位的子项(不是重复项)设置父级 div 的 100% 高度?

c++ - 使用调整对话框大小的动画后如何固定QDialog的大小?

ios - CATextLayer-如何禁用隐式动画?

javascript - 如何从某些函数构建c3js线图,而不仅仅是带有随机数的简单数组?

javascript - 如何修改Highcharts中的负轴条形图?

javascript - 在命名空间 javascript 中创建一个新对象

Jquery依赖下拉菜单选择