Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将此代码ID转换为适用于类名_Javascript_Class - Fatal编程技术网

Javascript 将此代码ID转换为适用于类名

Javascript 将此代码ID转换为适用于类名,javascript,class,Javascript,Class,我需要一些溢出滚动元素在一个移动网站和少数版本,例如,安卓不会处理他们 此代码启用触摸滚动: function touchScroll(id){ if(isTouchDevice()){ //if touch events exist... var el=document.getElementById(id); var scrollStartPos=0; document.ge

我需要一些溢出滚动元素在一个移动网站和少数版本,例如,安卓不会处理他们

此代码启用触摸滚动:

function touchScroll(id){
            if(isTouchDevice()){ //if touch events exist...
                var el=document.getElementById(id);
                var scrollStartPos=0;
                document.getElementById(id).addEventListener("touchstart", function(event) {
                    scrollStartPos=this.scrollTop+event.touches[0].pageY;
                    event.preventDefault();
                },false);

                document.getElementById(id).addEventListener("touchmove", function(event) {
                    this.scrollTop=scrollStartPos-event.touches[0].pageY;
                    event.preventDefault();
                },false);
            }
        }
        touchScroll('cHolder');
我对它进行了测试,它对#cHolder有效。但是,我需要如何修改它(我不介意使用jquery语法),使其适用于类?我的布局中有多个这样的容器


有什么想法吗?

好吧,您可以用jQuery语法替换
var el=document.getElementById(id)

var el = $(id).get(0);
这将实际创建一个jQuery选择器,然后获取DOM对象

然后我建议您将第5行和第9行的
document.getElementById(id)
替换为
el


然后您可以将任何选择器传递到函数中,它将获得该元素

像这样的事情应该行得通

function touchScroll(id) {
    if (isTouchDevice()) { //if touch events exist...
        var els = document.getElementsByClassName(id);
        var scrollStartPos = 0;
        for (var i = 0; i < els.length; i++) {
            els[i].addEventListener("touchstart", function (event) {
                scrollStartPos = this.scrollTop + event.touches[0].pageY;
                event.preventDefault();
            }, false);

            els[i].addEventListener("touchmove", function (event) {
                this.scrollTop = scrollStartPos - event.touches[0].pageY;
                event.preventDefault();
            }, false);
        }
    }
}
touchScroll('cHolder');
功能触摸屏(id){
如果(isTouchDevice()){//如果存在触摸事件。。。
var els=document.getElementsByClassName(id);
var scrollStartPos=0;
对于(变量i=0;i
是什么让您认为OP使用jQuery的?“我不介意使用jquery语法”可能意味着任何tbh。此外,这并不是解释如何按类选择元素。谢谢!虽然我刚刚意识到这不适用于水平滚动。。。无论如何谢谢你!