사용자 정의 데이터-* 유형, CSS 및 자바 스크립트

user2855168

모두. 작업중인 프로젝트를 위해 전체 화면 jQuery 갤러리를 구축 중이며 작은 딸꾹질을 겪고 있습니다.

무슨 일이 일어나고 있는지 데모를 보려면 http://www.idealbrandon.com/gallery.html을 방문 하십시오 .

기본적으로 사용자 정의 속성 인 데이터 배경을 사용하여 각 슬라이드에 대한 bg- 이미지를로드합니다. 이것은 처음부터 잘 작동하지만 슬라이드가 두 번째로로드 될 때마다로드되지 않습니다. 슬라이드의 HTML은 다음과 같습니다.

<div class="slide" data-background="/img/gallery/2.jpg">
    <div class="location">Magical Aqua Ducks</div>
    <div class="verse"></div>
</div>

문제의 자바 스크립트는

for(var i = 0; i < totalSlides; i++){
    $pagerList
    .append('<li class="page" data-target="'+i+'"></li>');
        if ($slides.eq(i).attr("data-background") != null){
            $slides.eq(i).css("background-image", "url("+$slides.eq(i).attr("data-background")+")");
    };
}; 

전체 자바 스크립트 파일은

(function($){
function prefix(el){
    var prefixes = ["Webkit", "Moz", "O", "ms"];
    for (var i = 0; i < prefixes.length; i++){
        if (prefixes[i] + "Transition" in el.style){
            return '-'+prefixes[i].toLowerCase()+'-'; 
        };
    }; 
    return "transition" in el.style ? "" : false;
};
var methods = {
    init: function(settings){
        return this.each(function(){
            var config = {
                slideDur: 7000,
                fadeDur: 800
            };
            if(settings){
                $.extend(config, settings);
            };
            this.config = config;
            var $container = $(this),
                slideSelector = '.slide',
                fading = false,
                slideTimer,
                activeSlide,
                newSlide,
                $slides = $container.find(slideSelector),
                totalSlides = $slides.length,
                $pagerList = $container.find('.pager_list');
                prefix = prefix($container[0]);

            function animateSlides(activeNdx, newNdx){
                function cleanUp(){
                    $slides.eq(activeNdx).removeAttr('style');
                    activeSlide = newNdx;
                    fading = false;
                    waitForNext();
                };                    

                if(fading || activeNdx == newNdx){
                    return false;
                };
                fading = true;
                $pagers.removeClass('active').eq(newSlide).addClass('active');
                $slides.eq(activeNdx).css('z-index', 3);
                $slides.eq(newNdx).css({
                    'z-index': 2,
                    'opacity': 1
                });

               if(!prefix){
                    $slides.eq(activeNdx).animate({'opacity': 0}, config.fadeDur,
                    function(){
                        cleanUp();
                    });
                } else {
                    var styles = {};
                    styles[prefix+'transition'] = 'opacity '+config.fadeDur+'ms';
                    styles['opacity'] = 0;
                    $slides.eq(activeNdx).css(styles);
                    //$slides.eq(activeNdx).css("background-image", "url("+$slides.eq(activeNdx).attr("data-background")+")");

                    var fadeTimer = setTimeout(function(){
                        cleanUp();
                    },config.fadeDur);
                };
            };
            function changeSlides(target){
                if(target == 'next'){
                    newSlide = (activeSlide * 1) + 1;
                    if(newSlide > totalSlides - 1){
                        newSlide = 0;
                    }
                } else if(target == 'prev'){
                    newSlide = activeSlide - 1;
                    if(newSlide < 0){
                        newSlide = totalSlides - 1;
                    };
                } else {
                    newSlide = target;
                };
                animateSlides(activeSlide, newSlide);
            };
            function waitForNext(){
                slideTimer = setTimeout(function(){
                    changeSlides('next');
                },config.slideDur);
            };
            for(var i = 0; i < totalSlides; i++){
                $pagerList
                    .append('<li class="page" data-target="'+i+'"></li>');
                if ($slides.eq(i).attr("data-background") != null){
                    $slides.eq(i).css("background-image", "url("+$slides.eq(i).attr("data-background")+")");
                    //alert($slides.eq(i).attr("data-background"));
                };
            };
            $container.find('.page').bind('click',function(){
                var target = $(this).attr('data-target');
                clearTimeout(slideTimer);
                changeSlides(target);
            });
            var $pagers = $pagerList.find('.page');
            $slides.eq(0).css('opacity', 1);



            $pagers.eq(0).addClass('active');
            activeSlide = 0;

            waitForNext();
        });
    }
};
$.fn.easyFader = function(settings){
      return methods.init.apply(this, arguments);
};
})(jQuery);

미리 감사드립니다

피트

gallery.js 파일을 살펴보면 페이드 전환에서 호출되는 다음 함수가 있습니다. cleanUp()

이 함수에서는 다음에서 스타일 속성을 제거합니다 $slides.

$slides.eq(activeNdx).removeAttr('style');

배경 이미지 스타일도 제거됩니다. 그런 다음 다시 설정되지 않습니다.

스타일을 제거한 위 줄 뒤에 다음을 포함 할 수 있습니다.

$slides.eq(activeNdx).css("background-image", "url("+$slides.eq(activeNdx).data("background")+")");

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

고정 헤더 테이블 CSS 및 자바 스크립트

분류에서Dev

델파이의 자바 스크립트 및 유튜브 API

분류에서Dev

자바 스크립트를 사용하는 Django의 페이지 특정 CSS

분류에서Dev

자바 스크립트에서 데이터 유형과 기본 유형의 차이점은 무엇입니까?

분류에서Dev

스타일러스 / 사용자 자바 스크립트 및 CSS 또는 유사한 브라우저 확장

분류에서Dev

자바 스크립트로 둘 이상의 CSS 파일 수정

분류에서Dev

자바 스크립트 이벤트 및 CSS

분류에서Dev

자바 스크립트의 함수-함수 이름의 유무에 관계없이 정의 및 호출

분류에서Dev

메뉴 CSS 및 자바 스크립트

분류에서Dev

CSS 및 자바 스크립트

분류에서Dev

페이지 당 Sitemesh 사용자 정의 자바 스크립트

분류에서Dev

자바 인터페이스-사용자 지정 반환 유형?

분류에서Dev

애니메이션과 자바 스크립트 및 CSS 혼합

분류에서Dev

PHP로 mysql 데이터베이스에 제출하는 동적 CSS 및 자바 스크립트

분류에서Dev

자바 스크립트에서 사용자 정의 된 이메일 유효성 검사

분류에서Dev

자바 스크립트 및 CSS 스타일이 적용되지 않음

분류에서Dev

자바 스크립트-비동기 가져 오기의 반응 데이터는 'useEffect ()'및 'useState'를 사용하여 정의되지 않습니다.

분류에서Dev

자바 스크립트의 텍스트 상자 데이터

분류에서Dev

CSS 및 자바 스크립트를 사용하여 웹 사이트에서지도 가리 키기

분류에서Dev

자바 스크립트에서 zclip 플러그인을 사용하여 형식이 지정된 텍스트 복사 및 붙여 넣기

분류에서Dev

자바 스크립트를 사용하여 CSS에 정의 된 SVG 이미지의 색상 변경

분류에서Dev

자바 스크립트 임의 이미지 및 링크

분류에서Dev

자바 스크립트의 텍스트에 사용자 이름 및 비밀번호 값 표시

분류에서Dev

데이터 입력 자바 스크립트 유효성 검사

분류에서Dev

사용자 정의 데이터 형식화 및 패턴 일치

분류에서Dev

자바 스크립트 비밀번호 및 페이지 변형

분류에서Dev

자바 스크립트의 onmouseover 및 onmouseout 이벤트

분류에서Dev

자바 스크립트 데이터 및 HTML 전송

분류에서Dev

배경 크로스 페이드 전환 자바 스크립트 및 CSS

Related 관련 기사

  1. 1

    고정 헤더 테이블 CSS 및 자바 스크립트

  2. 2

    델파이의 자바 스크립트 및 유튜브 API

  3. 3

    자바 스크립트를 사용하는 Django의 페이지 특정 CSS

  4. 4

    자바 스크립트에서 데이터 유형과 기본 유형의 차이점은 무엇입니까?

  5. 5

    스타일러스 / 사용자 자바 스크립트 및 CSS 또는 유사한 브라우저 확장

  6. 6

    자바 스크립트로 둘 이상의 CSS 파일 수정

  7. 7

    자바 스크립트 이벤트 및 CSS

  8. 8

    자바 스크립트의 함수-함수 이름의 유무에 관계없이 정의 및 호출

  9. 9

    메뉴 CSS 및 자바 스크립트

  10. 10

    CSS 및 자바 스크립트

  11. 11

    페이지 당 Sitemesh 사용자 정의 자바 스크립트

  12. 12

    자바 인터페이스-사용자 지정 반환 유형?

  13. 13

    애니메이션과 자바 스크립트 및 CSS 혼합

  14. 14

    PHP로 mysql 데이터베이스에 제출하는 동적 CSS 및 자바 스크립트

  15. 15

    자바 스크립트에서 사용자 정의 된 이메일 유효성 검사

  16. 16

    자바 스크립트 및 CSS 스타일이 적용되지 않음

  17. 17

    자바 스크립트-비동기 가져 오기의 반응 데이터는 'useEffect ()'및 'useState'를 사용하여 정의되지 않습니다.

  18. 18

    자바 스크립트의 텍스트 상자 데이터

  19. 19

    CSS 및 자바 스크립트를 사용하여 웹 사이트에서지도 가리 키기

  20. 20

    자바 스크립트에서 zclip 플러그인을 사용하여 형식이 지정된 텍스트 복사 및 붙여 넣기

  21. 21

    자바 스크립트를 사용하여 CSS에 정의 된 SVG 이미지의 색상 변경

  22. 22

    자바 스크립트 임의 이미지 및 링크

  23. 23

    자바 스크립트의 텍스트에 사용자 이름 및 비밀번호 값 표시

  24. 24

    데이터 입력 자바 스크립트 유효성 검사

  25. 25

    사용자 정의 데이터 형식화 및 패턴 일치

  26. 26

    자바 스크립트 비밀번호 및 페이지 변형

  27. 27

    자바 스크립트의 onmouseover 및 onmouseout 이벤트

  28. 28

    자바 스크립트 데이터 및 HTML 전송

  29. 29

    배경 크로스 페이드 전환 자바 스크립트 및 CSS

뜨겁다태그

보관