Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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 如何使用jquery更改动态内容的类名_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 如何使用jquery更改动态内容的类名

Javascript 如何使用jquery更改动态内容的类名,javascript,php,jquery,html,Javascript,Php,Jquery,Html,在我的php文件中,我有一个代码部分,用于将所有jpg文件组成一个文件夹,并将它们放入img标记中 if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg

在我的php文件中,我有一个代码部分,用于将所有jpg文件组成一个文件夹,并将它们放入img标记中

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg') {
           echo '<div class="image_slider"><img src ="' . $dir . $file . '"/></div>';
       }
    }
    closedir($handle);
}
然后,对于要加载的其他图像,用户必须点击PRV或下一个链接

function next_img(){
        $( ".image_slider img" ).closest().next( "active" );
    }
但是这个功能不起作用。它不会将类“active”从第一个更改为第二个

我觉得我错过了什么。但是找不到它


谢谢

您需要查找当前活动图像:

var $current = $('.image_slider .active');
$current
中的$in没有任何作用,它只是向其他开发人员显示
$current
是或应该是jQuery对象)

删除其活动类

$current.removeClass('active');
然后获取当前图像父对象并向上(
prev
)或向下(
next
)DOM以获取下一个.image滑块元素

$next = $current.parent().next();
// OR
$next = $current.parent().prev();
如果$next存在(活动图像可能是最后一个图像),则为其指定活动类:

if ($next.length) {
    $next.find('> img').addClass('active');
}

这些是基础,请随意改进逻辑以获得用户体验

您需要找到当前活动图像:

var $current = $('.image_slider .active');
$current
中的$in没有任何作用,它只是向其他开发人员显示
$current
是或应该是jQuery对象)

删除其活动类

$current.removeClass('active');
然后获取当前图像父对象并向上(
prev
)或向下(
next
)DOM以获取下一个.image滑块元素

$next = $current.parent().next();
// OR
$next = $current.parent().prev();
如果$next存在(活动图像可能是最后一个图像),则为其指定活动类:

if ($next.length) {
    $next.find('> img').addClass('active');
}
这些是基础知识,请随意改进逻辑以获得用户体验

$(".active").removeClass("active").next("img").addClass("active");
试试这个

$(".active").removeClass("active").next("img").addClass("active");

您不需要调用closest()。请参阅,以快速了解您正在尝试执行的操作

var el = $("img.active");
el.next().addClass("active");
el.removeClass("active");

您不需要调用closest()。请参阅,以快速了解您正在尝试执行的操作

var el = $("img.active");
el.next().addClass("active");
el.removeClass("active");

我想增强您的代码,以便遵循

$s='';
$first=false;
$handle=@opendir($dir);

if ($handle) {
    $s='<div class="image_slider">';

    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg') {

            $cls='';
            if (!$first) {$cls='active'; $first=true;}

            $s.='<img class="'.$cls.'" src ="' . $dir . $file . '"/>';

        }
    }

    $s.='</div>';
    closedir($handle);    
}
else {
    echo 'Error in reading image folder-or the dir doesnt exist!';
}
简单解释一下:

1-获取当前激活状态并将其保存在
act

2-获取所有图像并存储在
img

3-如果当前激活的是第一个或最后一个,则不执行任何操作


4-移除当前激活的一个。查找上一个/下一个项目并使其处于活动状态

我想增强您的代码以便遵循

$s='';
$first=false;
$handle=@opendir($dir);

if ($handle) {
    $s='<div class="image_slider">';

    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && strtolower(substr($file, strrpos($file, '.') + 1)) == 'jpg') {

            $cls='';
            if (!$first) {$cls='active'; $first=true;}

            $s.='<img class="'.$cls.'" src ="' . $dir . $file . '"/>';

        }
    }

    $s.='</div>';
    closedir($handle);    
}
else {
    echo 'Error in reading image folder-or the dir doesnt exist!';
}
简单解释一下:

1-获取当前激活状态并将其保存在
act

2-获取所有图像并存储在
img

3-如果当前激活的是第一个或最后一个,则不执行任何操作


4-移除当前激活的一个。找到上一个/下一个项目并将其激活

这不起作用。您需要在
removeClass
调用之后添加一个
.parent()
,在
下一个
调用之后添加一个
find('img')
!这行不通。您需要在
removeClass
调用之后添加一个
.parent()
,在
下一个
调用之后添加一个
find('img')
!非常感谢,先生。你解释得很好的密码和小提琴对我帮助很大。再次感谢您。您的欢迎,很高兴听到这对您很有帮助,祝您一切顺利。非常感谢先生。你解释得很好的密码和小提琴对我帮助很大。再次感谢您。您的欢迎,很高兴听到这是有益的,祝您一切顺利