ورود

View Full Version : منوی دراپ داون بازشو با کلیک نه هاور؟



majidzm
پنج شنبه 04 مهر 1392, 22:31 عصر
سلام

من یه سایت دارم که مجموعه های تو در توی زیادی داره و منو هم بصورت دراپ داون تا 4 مرحله هست ولی مشکل اینه که با دستگاه هایی که موس ندارن نمیشه منو روباز کرد و به گزینه های سطح پایین تر منو رسید.

سوالم اینه که:
1_ پیشنهادتون برای دستگاه هایی که موس ندارن(دستگاه های صفحه لمسی) برای منوی من چیه؟
2_ میشه همین منو رو طوری تغییر داد که با کلیک روی هر گزینه منو فقط زیر منو باز بشه تا زمانی که دیگه زیر منویی وجود نداره و آخرین یا پایین ترین گزینه منو میشه لینکه مجموعه مورد نظر و با کلیک بره به لینکه مورد نظره اون گزینه

با تشکر
منتظرم

Omid Jackson
پنج شنبه 04 مهر 1392, 22:39 عصر
شما با استفاده از jQuery میتونین از .click() استفاده کنین بجای .hover()
با استفاده از CSS تنها هم نمیشه (تا جایی که من میدونم) یعنی کلا منو، نه اینکه کلیک نشه
اگر هم برای CSS میخواین باید از :active استفاده کنین

majidzm
پنج شنبه 04 مهر 1392, 23:00 عصر
ممنون
ولی امکانش هست بیشتر توضیح بدین

Omid Jackson
جمعه 05 مهر 1392, 00:48 صبح
چی رو توضیح بدم؟
توضیحاتی که دادم کامل بود، شما کد رو بذارین ببینیم چیکار کردین تا بتونیم نظر بدیم چی رو تغییر بدین

omidabedi
جمعه 05 مهر 1392, 02:12 صبح
باید با جی کوئری یه تابع تعریف کنی بعد با event=onClick تابع رو فراخوانی کنی که اینجا میشه dropdown منو.
فقط 2 نکته:اول اینکه منو برای pc جدا باشه یعنی mouse over باشه برای موبایل هم جدا
برای تشخیص device کاربر از این روش استفاده کن
https://github.com/serbanghita/Mobile-Detect/archive/2.7.0.zip این فایل رو به صفحت اضافه کن
اینم کد php


// Include and instantiate the class.
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;

// Any mobile device (phones or tablets).
if ( $detect->isMobile() ) {

}

// Any tablet device.
if( $detect->isTablet() ){

}

// Exclude tablets.
if( $detect->isMobile() && !$detect->isTablet() ){

}

// Check for a specific platform with the help of the magic methods:
if( $detect->isiOS() ){

}

if( $detect->isAndroidOS() ){

}

// Alternative method is() for checking specific properties.
// WARNING: this method is in BETA, some keyword properties will change in the future.
$detect->is('Chrome')
$detect->is('iOS')
$detect->is('UC Browser')
// [...]

// Batch mode using setUserAgent():
$userAgents = array(
'Mozilla/5.0 (Linux; Android 4.0.4; Desire HD Build/IMM76D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19',
'BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103',
// [...]
);
foreach($userAgents as $userAgent){

$detect->setUserAgent($userAgent);
$isMobile = $detect->isMobile();
$isTablet = $detect->isTablet();
// Use the force however you want.

}

// Get the version() of components.
// WARNING: this method is in BETA, some keyword properties will change in the future.
$detect->version('iPad'); // 4.3 (float)
$detect->version('iPhone') // 3.1 (float)
$detect->version('Android'); // 2.1 (float)
$detect->version('Opera Mini'); // 5.0 (float)
// [...]

بعد با if ساده میشه از هم تفکیکشون کرد.

نکته ی 2:اگر هم نخواستی کاره 1 رو انجام بدی حتما کنار منو هایی که زیرمنو داره یه فلش رو به پایین بزار. (بعضی از سایت ها مثل یاهو اینکارو نکردن ادم نمیدونه رو فلان لینک کلیک کنه قراره چه اتفاقی بیوفته)

majidzm
جمعه 05 مهر 1392, 15:45 عصر
سلام
ممنون از راهنماییتون

اینم آدرس سایت
ratebook.ir