unid_user

منوی وردپرس
جاوا اسکریپت و یه درد سر بزرگ دیگه!

17 پست در این موضوع قرار دارد

ارسال شده در (ویرایش شده)

سلام و درود

دوستان گرامی ، تا زمانی که فایل جاوا اسکریپت سایت کامل لود بشه ، آیتم های منو بخصوص اونهایی که زیر منو دارن کامل باز میمونن و منو بهم میریزه. خیلی تلاش کردم که درستش کنم اما نمیشه.

کسی به همچین مشکلی برخورده که بتونه به من کمک کنه؟ اگه نیاز هست کدهای اسکریپتی و php منو رو ارسال کنم توی تاپیک.

با تشکر و سپاس

ویرایش شده در توسط unid_user
0

به اشتراک گذاری این پست


لینک به پست
در 2 دقیقه قبل، unid_user گفته است :

سلام و درود

دوستان گرامی ، تا زمانی که فایل جاوا اسکریپت سایت کامل لود بشه ، آیتم های منو بخصوص اونهایی که زیر منو دارن کامل باز میمونن و منو بهم میریزه. خیلی تلاش کردم که درستش کنم اما نمیشه.

کسی به همچین مشکلی برخورده که بتنوه به من کمک کنه؟ اگه نیاز هست کدهای اسکریپتی و php منو رو ارسال کنم توی تاپیک.

با تشکر و سپاس

سلام 

inspect element رو باز و در console ببینید خطایی دریافت میکنید یا خیر؟

0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، cherry گفته است :

سلام 

inspect element رو باز و در console ببینید خطایی دریافت میکنید یا خیر؟

بله خطا داره چندتا هم هست

0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، unid_user گفته است :

بله خطا داره چندتا هم هست

آدرس وبسایتتون رو ارسال کنید

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در 5 دقیقه قبل، unid_user گفته است :

بله خطا داره چندتا هم هست

Unchecked runtime.lastError: The message port closed before a response was received.
(index):31 Uncaught ReferenceError: FooBox is not defined
    at (index):31
(anonymous) @ (index):31
autoptimize_f178169edf1a4797467c2939a1de2858.js:2 JQMIGRATE: Migrate is installed, version 1.4.1
userscript.html?id=a10f46cc-18b6-4805-b735-0c9e2845bd8c:80 from content message {
    "action": "callFn",
    "fn": "getPreferences"
}
userscript.html?id=a10f46cc-18b6-4805-b735-0c9e2845bd8c:80 from content message {
    "action": "callFn",
    "fn": "getPreferences"
}
userscript.html?id=a10f46cc-18b6-4805-b735-0c9e2845bd8c:80 from content message {
    "action": "callFn",
    "fn": "promoBarGetHash",
    "args": [
        "www.khayamchoob.com"
    ]
}
client.js?11848f8:16 [WARNING] Crisp found shims of native JavaScript methods. This can alter the chatbox behavior and break things. Make sure not to override listed functions to ensure your chatbox works as expected. You may be looking for other JavaScript libraries in use on this page.

You can disable this warning by adding: $crisp.push(["safe", true]) to your page JavaScript.

Methods to check: (2) ["document.addEventListener", "document.removeEventListener"]
Crisp.Polyfill.e.__warn_incompatible @ client.js?11848f8:16
(anonymous) @ client.js?11848f8:16
setTimeout (async)
Crisp.Polyfill.e.schedule_warn_incompatible @ client.js?11848f8:16
Crisp.Base.e.init @ client.js?11848f8:18
s @ client.js?11848f8:16
(anonymous) @ VM206 l.js:7

 

ویرایش شده در توسط unid_user
0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، cherry گفته است :

آدرس وبسایتتون رو ارسال کنید

لوکاله توی سیستم خودم

0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، unid_user گفته است :

لوکاله توی سیستم خودم

در قالبتون فایل جاوا اسکریپت به چه صورت لود شده؟

0

به اشتراک گذاری این پست


لینک به پست
در هم اکنون، cherry گفته است :

در قالبتون فایل جاوا اسکریپت به چه صورت لود شده؟

کد مربوط به منو:

var ul1 = "ul.main-nav-ul > li:has(ul)";
var ul2 = "ul.main-nav-ul > li:has(ul) > ul:has(li)";
var ul3 = "ul.main-nav-ul > li:has(ul) > ul:has(li) > li:has(ul)";
$(ul1).addClass('dropdown');
$(ul2).addClass('sub-ul-1');
$(" > li:has(ul)", ul2).addClass('dropdown');
$(" > ul:has(li)", ul3).addClass('sub-ul-2');
$("ul.main-nav-ul > li.dropdown").hover(function() {
  $("ul.sub-ul-1", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-1", this).stop().fadeOut('400');
});
$("ul.sub-ul-1 > li.dropdown").hover(function() {
  $("ul.sub-ul-2", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-2", this).stop().fadeOut('400');
});

این هم فوتر سایتم:

<script src="<?php echo get_template_directory_uri(); ?>/assets/js/jquery.min.js" defer></script>
    <script src="<?php echo get_template_directory_uri(); ?>/assets/js/owl.carousel.min.js" defer></script>
    <script src="<?php echo get_template_directory_uri(); ?>/assets/js/script.js" defer></script>
	<?php wp_footer(); ?>
  </body>
</html>

 

0

به اشتراک گذاری این پست


لینک به پست

@unid_user

کدهای لود فایل رو از فوتر حذف کنید و کدهای زیر رو در فایل functions.php قرار بدین

add_action( 'wp_enqueue_scripts', 'theme_add_script' );
function theme_add_script() {
	if ( ! is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', get_template_directory_uri() . '/assets/js/jquery.min.js', false );
		wp_enqueue_script( 'jquery' );
	}
	wp_register_script( 'owl-jquery', get_stylesheet_directory_uri() . '/assets/js/owl.carousel.min.js', array(), false, true );
	wp_enqueue_script( 'owl-jquery' );
	wp_register_script( 'script-jquery', get_stylesheet_directory_uri() . '/assets/js/script.js', array(), false, true );
	wp_enqueue_script( 'script-jquery' );
}

 

2

به اشتراک گذاری این پست


لینک به پست
در 5 دقیقه قبل، cherry گفته است :

@unid_user

کدهای لود فایل رو از فوتر حذف کنید و کدهای زیر رو در فایل functions.php قرار بدین


add_action( 'wp_enqueue_scripts', 'theme_add_script' );
function theme_add_script() {
	if ( ! is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', get_template_directory_uri() . '/assets/js/jquery.min.js', false );
		wp_enqueue_script( 'jquery' );
	}
	wp_register_script( 'owl-jquery', get_stylesheet_directory_uri() . '/assets/js/owl.carousel.min.js', array(), false, true );
	wp_enqueue_script( 'owl-jquery' );
	wp_register_script( 'script-jquery', get_stylesheet_directory_uri() . '/assets/js/script.js', array(), false, true );
	wp_enqueue_script( 'script-jquery' );
}

 

انجام دادم الان تمام منو یکجا با هم میاد ولی سرعت لود سایت 10 تا 15 برابر بیشتر شده و خیلی کنده.

0

به اشتراک گذاری این پست


لینک به پست
در 10 دقیقه قبل، unid_user گفته است :

انجام دادم الان تمام منو یکجا با هم میاد ولی سرعت لود سایت 10 تا 15 برابر بیشتر شده و خیلی کنده.

روش صحیح لود فایل در وردپرس به اینصورته

شما مطمئنید کدهای جاوااسکریپت منو مشکلی نداره و عملکرد صحیحی داره؟

0

به اشتراک گذاری این پست


لینک به پست
در 1 دقیقه قبل، cherry گفته است :

روش صحیح لود فایل در وردپرس به اینصورته

شما مطمئنید کدهای جاوااسکریپت منو مشکلی نداره و عملکرد صحیحی داره؟

کدها رو که فرستادم. بنظر خودم که درسته. دوباره میفرستم شما یه نگاه کنید شاید ایرادی داشته باشه؟

var ul1 = "ul.main-nav-ul > li:has(ul)";
var ul2 = "ul.main-nav-ul > li:has(ul) > ul:has(li)";
var ul3 = "ul.main-nav-ul > li:has(ul) > ul:has(li) > li:has(ul)";
$(ul1).addClass('dropdown');
$(ul2).addClass('sub-ul-1');
$(" > li:has(ul)", ul2).addClass('dropdown');
$(" > ul:has(li)", ul3).addClass('sub-ul-2');
$("ul.main-nav-ul > li.dropdown").hover(function() {
  $("ul.sub-ul-1", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-1", this).stop().fadeOut('400');
});
$("ul.sub-ul-1 > li.dropdown").hover(function() {
  $("ul.sub-ul-2", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-2", this).stop().fadeOut('400');
});

این کدها ر اولین خط فایل script.js هستن و هیچیزی قبل از این کدها نیست.

راستی می خواستم بدونم توی فایل اسکریپت یا css وب سایت ها باید چیزی قبل یا بعد از کدنویسی نوشته بشه یا نه؟

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در 6 دقیقه قبل، unid_user گفته است :

کدها رو که فرستادم. بنظر خودم که درسته. دوباره میفرستم شما یه نگاه کنید شاید ایرادی داشته باشه؟


var ul1 = "ul.main-nav-ul > li:has(ul)";
var ul2 = "ul.main-nav-ul > li:has(ul) > ul:has(li)";
var ul3 = "ul.main-nav-ul > li:has(ul) > ul:has(li) > li:has(ul)";
$(ul1).addClass('dropdown');
$(ul2).addClass('sub-ul-1');
$(" > li:has(ul)", ul2).addClass('dropdown');
$(" > ul:has(li)", ul3).addClass('sub-ul-2');
$("ul.main-nav-ul > li.dropdown").hover(function() {
  $("ul.sub-ul-1", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-1", this).stop().fadeOut('400');
});
$("ul.sub-ul-1 > li.dropdown").hover(function() {
  $("ul.sub-ul-2", this).stop().fadeIn('400');
}, function() {
  $("ul.sub-ul-2", this).stop().fadeOut('400');
});

این کدها ر اولین خط فایل script.js هستن و هیچیزی قبل از این کدها نیست.

راستی می خواستم بدونم توی فایل اسکریپت یا css وب سایت ها باید چیزی قبل یا بعد از کدنویسی نوشته بشه یا نه؟

زیاد از جاوااسکریپت سردرنمیارم متاسفانه که در حال تقویت هستم

اما در فایل های جاوااسکریپت کدهای شما باید مابین این کدها قرار بگیره تا عملکرد صحیح داشته باشه

jQuery(document).ready(function ($) {
  
  // JS code
  
});

 

ویرایش شده در توسط cherry
1

به اشتراک گذاری این پست


لینک به پست
در 2 ساعت قبل، cherry گفته است :

@unid_user

کدهای لود فایل رو از فوتر حذف کنید و کدهای زیر رو در فایل functions.php قرار بدین


add_action( 'wp_enqueue_scripts', 'theme_add_script' );
function theme_add_script() {
	if ( ! is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', get_template_directory_uri() . '/assets/js/jquery.min.js', false );
		wp_enqueue_script( 'jquery' );
	}
	wp_register_script( 'owl-jquery', get_stylesheet_directory_uri() . '/assets/js/owl.carousel.min.js', array(), false, true );
	wp_enqueue_script( 'owl-jquery' );
	wp_register_script( 'script-jquery', get_stylesheet_directory_uri() . '/assets/js/script.js', array(), false, true );
	wp_enqueue_script( 'script-jquery' );
}

 

سلام استاد وقت بخیر

یه سوال؟

آیا کلا نباید هیچ فایل و کد جاواسکریپت از توی فوتر لود بشه؟

با سپاس

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در 17 دقیقه قبل، chem گفته است :

سلام استاد وقت بخیر

یه سوال؟

آیا کلا نباید هیچ فایل و کد جاواسکریپت از توی فوتر لود بشه؟

با سپاس

سلام دوست عزیز

روش لود صحیح به اینصورته که کدهای جاوااسکریپت از فوتر لود بشن و استایل های css از هدر

ویرایش شده در توسط cherry
1

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

سلام cherry عزیز

سری قبل که کدهایی که دادین توی فانکشن کچی کردم درست شد. اما الان دوباره همون طور شده مثه روز اول.

ویرایش شده در توسط unid_user
0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

در 30 دقیقه قبل، unid_user گفته است :

سلام cherry عزیز

سری قبل که کدهایی که دادین توی فانکشن کچی کردم درست شد. اما الان دوباره همون طور شده مثه روز اول.

سلام @unid_user  همون کدهای قبل رو که مشکل رو حل میکرد ولی سرعت رو کاهش میداد و اضافه کن ولی با دستور تاخیر در لود یا همزمانی لود js ها

این عنوان رو در گوگل جستجو کنید : استفاده از اتربیوت‌های defer و async 

ویرایش شده در توسط soma
1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط ramy1908
      درود، وقت دوستان بخیر
      یه سوال خیلی خیلی تخصصی داشتم، من برای سایتم اسلایدر jQuery استفاده می کنم.
      چطور میتونم بخشی ایجاد کنم ادمین فقط بعضی از مطالب رو وارد اسلایدر کنه، نمیخوام که یه دسته جداگانه واسه اسلایدر ایجاد کنم.
      راهی وجود داره برای این کار؟
    • توسط Neon_63
      سلام همگی. من در سایتم وقتی محصولی رو وارد سبد خرید میکنم و میرم به صفحه پرداخت، بهم ارور زیر رو میده:
      کتابخانه جی کوئری قبل از شهر های ایران لود نشده است!
      و بعد هم که یه استان رو انتخاب میکنم، در قسمت شهر ها میزنه "یافت نشد!"
      قالبش رو هم خودم نوشتم، اسم سایت هم رصد بوک هست. از آخرین نسخه وردپرس و ووکامرس هم استفاده میکنم
    • توسط SadraHkm
      سلام دوستان امیدوارم حالتون خوب باشه
      من داشتم تمرین میکردم که یه کتابخونه ساده بسازم. بعد به یه مشکلی برخوردم. من دو تا متد نوشتم. تو یکی از اونها، اون یکی رو صدا زدم. ولی کار نمیکنه و مقداری که برمیگردونه undefined هست.
      میشه لطفا راهنمایی کنید که مشکلش چی هست. با تشکر فراوان
      (function (window) { function mathLibrary() { this.plusNums = function (x, y) { return Number(x) + Number(y); }; this.subNums = function(x , y) { this.plusNums(x,-y); } } if(typeof sadra_ml === 'undefined'){ window.sadra_ml = new mathLibrary(); }else { console.log("There is name conflict"); } })(window);  
    • توسط SadraHkm
      سلام دوستان
      امیدوارم حالتون خوب باشه
      لطفا یه نگاهی به کد زیر بندازید
      <p>Paragraph 1</p> <p>Paragraph 2</p> <p>Paragraph 3</p> <p>Paragraph 4</p> <button id="calcBtn">Calculate</button> <div id="result"></div> <script> $(window).ready(function () { $('#calcBtn').click(function (e) { $('p').each(function () { $(this).css('color','rgb('+ rand(0,255) +','+ rand(0,255) +','+ rand(0,255) +')'); $('#result').append($(this).html()); // ----------------- This Code : //$('#result').append($(this)); }) }); }) </script> در اون قسمتی از کد که دارم محتوی کدهای پاراگراف رو به تگ div اضافه میکنم یه سوالی ذهن منو مشغول کرده.
      اگر همین کدی که الان هست رو اجرا کنیم، جی کوئری هربار توی حلقه رنگ تگ اصلی رو تغییر میده و یه کپی از اون پاراگراف میگیره و اضافه میکنه به div.
      ولی اگه اون تکه کدی که کامنت هست رو با اون خط جایگزین کنیم، میاد و هر بار کلا تگ پاراگراف رو برمیداره و اضافش میکنه به div. یعنی دیگه کپی ازش نمیگیره و دیگه تگ های p اون بالا باقی نمیموند.
      میخواستم ببینم آیا من درست فهمیدم ؟ یا مشکلی توی کد هست که اینجوری اجرا میشه ؟!
      باتشکر فراوان
       
    • توسط unid_user
      سلام و درود
      دوستان گرامی، می خوام با کلیک کردن روی یه تگ a هر بار سه تا از تگ های div که کلاس items رو دارن نمایش داده بشه یا به اصطلاح laod بشه.
      شبیه این دکمه توی سایت ها زیاد دیدم و لی آموزش هایی که دربارش هست برای من زیاد مناسب نیست و نتونستم درست کنم.
      با تشکر و سپاس