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

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط unid_user
      سلام و درود
      دوستان گرامی، می خوام با کلیک کردن روی یه تگ a هر بار سه تا از تگ های div که کلاس items رو دارن نمایش داده بشه یا به اصطلاح laod بشه.
      شبیه این دکمه توی سایت ها زیاد دیدم و لی آموزش هایی که دربارش هست برای من زیاد مناسب نیست و نتونستم درست کنم.
      با تشکر و سپاس
    • توسط SadraHkm
      سلام دوستان
      برای لود کردن فایل های جاوااسکریپت میتونیم اسکریپت رو در تگ head یا قبل از تگ /body بذاریم. وقتی که در تگ head میذاریم، قبل از اینکه محتوای صفحه خونده بشن، این فایل لود میشه. ولی ایا وقتی در اخر صفحه ( قبل از /body ) هم گذاشته میشه، قبل از خونده شدن محتوای صفحه این فایل لود میشه یا بعدش یا همزمان باهاش ؟!
      بعد سوال دیگه اینکه اگه ما فایل رو در اخر سندمون لود کنیم، چه فرقی میکنه با اینکه از attribute defer استفاده کنیم ؟ این attribute که دقیقا همون کار رو انجام میده !
      ممنون میشم کمی توضیح بدید
      باتشکر
    • توسط unid_user
      سلام و درود
      دوستان گرامی ، می خوام یه منوی آکاردئونی ساده با جی کوئری ایجاد کنم که وقتی روی هر کدوم از آیتم های منو کلیک میکنی، زیر منوی سایر آیتم ها بسته بشه.
      <nav> <ul id="first-ul"> <li> <a>صفحه اصلی</a> </li> <li> <a>خدمات</a> <ul class="second-ul"> <li> <a>آموزش رباتیک</a> </li> <li> <a>طراحی و ساخت ربات</a> </li> </ul> </li> <li> <a>محصولات</a> <ul class="second-ul"> <li> <a>ربات مسیریاب</a> </li> <li> <a>ربات حل ماز</a> </li> </ul> </li> </ul> </nav> با تشکر و سپاس
    • توسط jistili1
      سلام دوستان.من یک select box دارم و قرار بر اینه که به ازای هر مقدار select box یک div خاص نمایش داده بشه و بقیه div های مربوط به مقادیر دیگر select box مخفی بشن.
      این کد جی کوئری من هست:
      $("#select").change(function(){ if($(this).val()=="empty"){ $("#date").css("display","hidden"); $("#localref").css("display","hidden"); $("#refid").css("display","hidden"); $("#number").css("display","hidden"); $("#product").css("display","hidden"); $("#price").css("display","hidden"); } if($(this).val()=="localref"){ $("#date").css("display","hidden"); $("#localref").css("display","block"); $("#refid").css("display","hidden"); $("#number").css("display","hidden"); $("#product").css("display","hidden"); $("#price").css("display","hidden"); } if($(this).val()=="date"){ $("#date").css("display","block"); $("#localref").css("display","hidden"); $("#refid").css("display","hidden"); $("#number").css("display","hidden"); $("#product").css("display","hidden"); $("#price").css("display","hidden"); } if($(this).val()=="price"){ $("#date").css("display","hidden"); $("#localref").css("display","hidden"); $("#refid").css("display","hidden"); $("#number").css("display","hidden"); $("#product").css("display","hidden"); $("#price").css("display","block"); } if($(this).val()=="number"){ $("#date").css("display","hidden"); $("#localref").css("display","hidden"); $("#refid").css("display","hidden"); $("#number").css("display","block"); $("#product").css("display","hidden"); $("#price").css("display","hidden"); } if($(this).val()=="product"){ $("#date").css("display","hidden"); $("#localref").css("display","hidden"); $("#refid").css("display","hidden"); $("#number").css("display","hidden"); $("#product").css("display","block"); $("#price").css("display","hidden"); } if($(this).val()=="refid"){ $("#date").css("display","hidden"); $("#localref").css("display","hidden"); $("#refid").css("display","block"); $("#number").css("display","hidden"); $("#product").css("display","hidden"); $("#price").css("display","hidden"); } }); حالا مشکل من اینجاست که فرض کنید من از توی select box ، مقدار date رو انتخاب کردم.خب تا اینجا درست کار میکنه و div مربوط به date برای من نمایش داده میشه.حالا اگه روی مقدار empty کلیک کنم ، طبق کد باید تمامی div ها مخفی بشن ولی این اتفاق نمیفته.حالا من از select box مقدار date رو انتخاب کردم و div مربوط به date برام نمایش داده میشه اگه بعدش روی گزینه localref کلیک کنم ، div مربوط به localref نمایش داده میشه ولی div مربوط به date مخفی نمیشه.ممنون میشم کمکم کنید که بفهمم مشکل از کجاست.
    • توسط unid_user
      سلام و درود
      دوستان گرامی ، نمیدونم چرا وقتی صفحه مرورگر رو رفرش میکنم، تمام زیر منوها دیده میشه! کسی میدونه علت چیه.
      با اینکه من تگ ul رو diplay: none دادم.
      با تشکر و سپاس