gpt4 book ai didi

jquery - 如何设置 Jquery 菜单的缓存?

转载 作者:行者123 更新时间:2023-11-28 06:56:01 24 4
gpt4 key购买 nike

我已经在 OpenCart 1.5x 商店中添加了一个 JQuery,它运行良好并且看起来不错。

但是,当您切换到新页面时,它会“闪烁”一个非样式化的菜单,然后在加载后显示 Jquery 菜单,这似乎存在延迟。它发生得很快,但很明显。

有没有办法缓存 Jquery 菜单,以便在页面之间轻弹时看起来像?

 (function($) {

$.fn.menumaker = function(options) {

var cssmenu = $(this), previousWidth = $( window ).width(), settings = $.extend({
title: "Menu",
format: "dropdown",
sticky: false
}, options);

return this.each(function() {
cssmenu.prepend('<div id="menu-button">' + settings.title + '</div>');
$(this).find("#menu-button").on('click', function(){
$(this).toggleClass('menu-opened');
var mainmenu = $(this).next('ul');
if (mainmenu.hasClass('open')) {
mainmenu.hide().removeClass('open');
}
else {
mainmenu.show().addClass('open');
if (settings.format === "dropdown") {
mainmenu.find('ul').show();
}
}
});

cssmenu.find('li ul').parent().addClass('has-sub');

multiTg = function() {
cssmenu.find(".has-sub").prepend('<span class="submenu-button"></span>');
cssmenu.find('.submenu-button').on('click', function() {
$(this).toggleClass('submenu-opened');
if ($(this).siblings('ul').hasClass('open')) {
$(this).siblings('ul').removeClass('open').hide();
}
else {
$(this).siblings('ul').addClass('open').show();
}
});
};

if (settings.format === 'multitoggle') multiTg();
else cssmenu.addClass('dropdown');

if (settings.sticky === true) cssmenu.css('position', 'fixed');

resizeFix = function() {

if($(window).width() == previousWidth) return;

if ($( window ).width() > 768) {
cssmenu.find('ul').show();
}

if ($(window).width() <= 768) {
cssmenu.find('ul').hide().removeClass('open');
}
};
resizeFix();
return $(window).on('resize', resizeFix);

});
};
})(jQuery);

(function($){
$(document).ready(function(){

$("#cssmenu").menumaker({
title: "Menu",
format: "multitoggle"
});

});
})(jQuery);

最佳答案

一方面,您应该通过将选择器设置为变量来缓存您的选择器,这是一个示例:

var $window = $( window ),
$document = $( document ),
$footer = $( '#footer' ),
$sidebar = $( '#sidebar' ),
$images = $( 'img' );

关于jquery - 如何设置 Jquery 菜单的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33501853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com