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

این تاپیک 9 پاسخ و 2 مشارکت کننده دارد . آخرین آپدیت توسط :  محمد مهدی اکرمی ،‏ 1 سال و 3 ماه پیش .

این تاپیک تاکنون 683 بازدید داشته است .

تگ شده :  

نویسنده پست
شنبه ، 15 آگوست 2015     1:38 ب.ظ #


reza_yki

Subscriber
52 پست29 تاپیک

سلام من یه کد دارم می خوام وقتی اجرا بشه که صفحه نمایش زیر 800 بود کار کنه

سعی کردم با کد زیر انجامش بدم ولی کار نکرد:

if ($(window).width() <= 800){
$(".topicon-menu").hide();
$(".menu-icon").click(function() {
$(".topicon-menu").slideToggle(140);
});
$('body').click(function(event){
if(event.target.id!='IM'){
$('.topicon-menu').slideUp(140);
}

});
}

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

0  تشکر
شنبه ، 15 آگوست 2015     2:42 ب.ظ #


محمد مهدی اکرمی

Subscriber
605 پست28 تاپیک

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

کد های شما هنگامی بررسی میشن که صفحه لود میشه .

پس الان اگر شما یه بار صفحه رو در مرورگرتون در اندازه واقعی لود کنید jquery چک میکنه میبینه که صفحه بزگتر از 800 هست و بعد از اون خط میگزه و میره . دیگه وقتی شما صفحه کوچیک تر کنی این if دیگه اجرا میشه تا وقتی که شما در همون اندازه کمتر از 800 صفحه رو لود کنی اون وقت میبینی که کدت کار میکنه .

البته راه هایی هم هست که بشه کدت رو داینامیک کرد . یعین تو هر شرایطی ختی وقتی که خودت مرورگر رو کوچیک میکنی بدون رفرش jquery بفهمه اندازه رو . اونم اینه که یه تایمر بزاری تا هر لحظه چک کنه اندازه رو . اون وقت درست میشه .

ولی لازم نیست . از همین استفاده کن . درست کار میکنه . کدت سالمه .

موفق باشید ... :)

1  تشکر
شنبه ، 15 آگوست 2015     2:51 ب.ظ #


reza_yki

Subscriber
52 پست29 تاپیک

سلام اره راست می گید حالا اگه بخوای داینامیک باشه چی؟

و همین طور وقتی فایل css لود بشه که صفحه زیر 960 باشه چی کار کنم می خوام اگه بیشتر از 960 باشه اون فایل دیگه اصلا دانلود نشه تا سرعت زیاد شه

0  تشکر
شنبه ، 15 آگوست 2015     3:20 ب.ظ #


محمد مهدی اکرمی

Subscriber
605 پست28 تاپیک

فقط کافیه یه if دیگه مثل اون بالایی رو برای اندازه 960 بسازی بعد کد زیر رو درونش قرار بدی و آدرس فالیت رو بنویسی توش :

document.createStyleSheet('style.css');

همین !

برای اینکه در هر حالتی هم جواب بده و داینامیک باشه کد هاتو بزار داخل این تا با تغییر سایز صفحه این شرط دوباره چک بشه :

$(document).resize(function(){
//Your Code Here
});

موفق باشی ... :)

2  تشکر
یکشنبه ، 16 آگوست 2015     6:36 ق.ظ #


reza_yki

Subscriber
52 پست29 تاپیک

هر کاری می کنم باز بار گزاری میشه میشه با php ترکیبش کرد؟

0  تشکر
یکشنبه ، 16 آگوست 2015     7:42 ق.ظ #


محمد مهدی اکرمی

Subscriber
605 پست28 تاپیک

کد هاتو بزار ببینم ..

1  تشکر
دوشنبه ، 17 آگوست 2015     11:01 ق.ظ #


reza_yki

Subscriber
52 پست29 تاپیک

ببخشید دیروز من دسترس به نت نداشتم

if ($(window).width() < 960){
document.createStyleSheet('<?php bloginfo ('template_url');  ?>/css/style-font.css');
}

0  تشکر
دوشنبه ، 17 آگوست 2015     1:01 ب.ظ #


محمد مهدی اکرمی

Subscriber
605 پست28 تاپیک

سلام .

اگر از اول میکفتی که از وردپرس استفاده میکنی بهتر بود .

یه کد برات آماده کردم بزارش تو فایل functions.php قالبت . این کدی که دادم خودش اسکریپت رو تو head لود میکنه . میتونی از php در اون استفاده کنی .

کلا اگر بخوای تو کد هات حالا چه css چه javascript از php استفاده کنی باید اون ها رو در یه فایل با پسوند php بزاری بعد اون فایل php رو لود کنی .

اینم از کد که باید بزاری تو functions.php :

function load_resize_script() { ?>

$(document).ready(function(){
$(window).resize(function(){
if ($(window).width() < 960){
document.createStyleSheet('/css/style-font.css');
}
});
});

<?php
}
add_action( 'wp_head', 'load_resize_script' );

تست کن خبرشو بهم بده .

موفقباشید ... :)

1  تشکر
دوشنبه ، 17 آگوست 2015     1:28 ب.ظ #


reza_yki

Subscriber
52 پست29 تاپیک

نشد این ارور رو میده

$(document).ready(function(){ $(window).resize(function(){ if ($(window).width() < 960){ document.createStyleSheet('http://localhost/wordpress/wp-content/themes/Fanoos/css/responsive.css'); } }); });

اینم کدم:

0  تشکر
دوشنبه ، 17 آگوست 2015     1:31 ب.ظ #


محمد مهدی اکرمی

Subscriber
605 پست28 تاپیک

فایل functions.php قالبت رو برام میل کن برات درست کنم .

1  تشکر
پست 1 تا 10 (از مجموع 10 پست)

برای پاسخ دادن به این تاپیک باید وارد سایت شوید .