2014-04-02 1 views
0

나는 Tranda Social이라는 테마로 Opencart 기반의 프로젝트를 진행하고 있습니다. 내가 직면 한 문제는 홈 페이지에서만 스크롤 효과를 얻을 수 없다는 것입니다 (예 : 아래로 스크롤 할 때 고정 위치에있는 탐색 표시 줄을 유지하거나 UP 화살표로 버튼을 클릭하여 TOP으로 이동하는 경우).). 몇 가지 연구를 한 후에 어떤 이유로 Javascript 함수가 올바르게 호출되지 않는다고 결론을 냈습니다.Opencart 테마의 자바 스크립트 스크롤 문제

setTimeout(function() { 

    /* Menu */ 
    $('#menu ul > li > a + div').each(function (index, element) { 

     var menu = $('#menu').offset(); 
     var dropdown = $(this).parent().offset(); 
     i = (dropdown.left + $(this).outerWidth()) - (menu.left + $('#menu').outerWidth()); 
     if (i > 0) { 
      $(this).css('margin-left', '-' + (i + 5) + 'px'); 
     } 
    }); 

    /* Fixed Menu */ 
    $(function() { 

     var msie6 = $.browser == 'msie' && $.browser.version < 7; 
     if (!msie6) { 
      var top = $('#bottomh').offset().top; 
      $(window).scroll(function (event) { 
       var y = $(this).scrollTop(); 
       if (y >= top) { 
        $('#bottomh').addClass('bottomfixed'); 
       } else { 
        $('#bottomh').removeClass('bottomfixed'); 
       } 
      }); 
     } 
    }); 

    $(function() { 

     var msie6 = $.browser == 'msie' && $.browser.version < 7; 
     if (!msie6) { 
      var top = $('#bottomh').offset().top; 
      $(window).scroll(function (event) { 
       var y = $(this).scrollTop(); 
       if (y >= top) { 
        $('#bottomh').addClass('bottomfixed'); 
       } else { 
        $('#bottomh').removeClass('bottomfixed'); 
       } 
      }); 
     } 
    }); 

    /* Margin Menu */ 
    $(function() { 

     var msie6 = $.browser == 'msie' && $.browser.version < 7; 
     if (!msie6) { 
      var top = $('#bottomh').offset().top; 
      $(window).scroll(function (event) { 
       var y = $(this).scrollTop(); 
       if (y >= top) { 
        $('#container').addClass(' topmargin'); 
       } else { 
        $('#container').removeClass(' topmargin'); 
       } 
      }); 
     } 
    }); 

    $(function() { 
     var msie6 = $.browser == 'msie' && $.browser.version < 7; 
     if (!msie6) { 
      var top = $('#bottomh').offset().top; 
      $(window).scroll(function (event) { 
       var y = $(this).scrollTop(); 
       if (y >= top) { 
        $('#container').addClass(' topmargin'); 
       } else { 
        $('#container').removeClass(' topmargin'); 
       } 
      }); 
     } 
    }); 
}, 500); 

홈 페이지에서 탐색 할 때 고정 메뉴 및 여백 메뉴 주석 뒤에 오는 기능이 작동하지 않습니다. 또한 알게되면 각 기능의 복제본이 있습니다 (어떤 이유인지 모름). 아이디어 있니? 어떤 도움이라도 대단히 감사하겠습니다.

+0

해당 기능은 Internet Explorer 6에서만 ** ** 수행해야합니다 ** - 틀에 박힌 브라우저로 사이트를 방문하고 있습니까? – shadyyx

+1

@shadyyx'if (! msie6)'당신이 생각하고 있던 것과 완전히 반대되는 경우 : –

+0

@ChetanPaliwal 사실, 나는 그 기호를 놓쳤다 ... 나의 나쁜 점 :-( – shadyyx

답변

0

관련 JS 오류로 인해 Slidesshow 모듈 (Nivo 슬라이더)이 문제였습니다. 모듈을 제거하고 다시 설치하면 문제가 해결됩니다.