Critical Error
-
Posts
23 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Posts posted by Critical Error
-
-
Здравствуйте, друзья.
Пишу плагин всплывающей подсказки. При на ведении на элемент открывается другой элемент. Открывается он по предустановленной настройке для метода $.show()
Примерный код приведу:
$('a.activate').on({
moseenter: function(){
var properties = {
effect: 'drop',
direction: 'down',
distance: 20,
duration: 300
};
var oncomplete = { complete: function(){ /* Здесь и нужно узнать эффект */ } };
var properties = $.extend( properties, oncomplete );
$('div.bubble').show( properties );
}
})Все это нужно мне чтобы составить условие для определенного эффекта
-
Короче, я психнул , и сделал объявление переменных в каждой функции, их там немного. Вот что теперь загвоздка в том, что при сворачивании/разворачивании по кнопке окна браузера не срабатывает resize.
Вот что вышло:
$(function(){
// Remove the slider-plugin-no-js class from the body
$("body").removeClass("slider-plugin-no-js");
// Прелоадер
$(".slider-plugin").children('.slide').hide().end().prepend('<p class="loading">Loading...<br /><img src="'+dle_root+'images/ajax-loader.gif" alt="loading..." /></p>')
});
var sliderCount = 1;
$.fn.codaSlider = function(settings) {
settings = $.extend({
autoHeight: 1,
autoHeightEaseDuration: 1000,
autoHeightEaseFunction: "easeInOutExpo",
autoSlide: 0,
autoSlideInterval: 7000,
autoSlideStopWhenClicked: 1,
crossLinking: 1,
dynamicArrows: 1,
dynamicArrowLeftText: "« left",
dynamicArrowRightText: "right »",
dynamicTabs: 1,
dynamicTabsAlign: "center",
dynamicTabsPosition: "top",
externalTriggerSelector: "a.xtrig",
firstPanelToLoad: 1,
panelTitleSelector: "h2.title",
slideEaseDuration: 1000,
slideEaseFunction: "easeInOutExpo",
sliderResponse: 1
}, settings);
return this.each(function(){
// Uncomment the line below to test your preloader
// alert("Testing preloader");
var slider = $(this);
// Если нам нужны стрелки навигации
if (settings.dynamicArrows) {
slider.addClass("arrows");
slider.prepend('<div class="slide-prev" id="slider-nav-prev-' + sliderCount + '"><a href="#">' + settings.dynamicArrowLeftText + '</a></div>');
slider.append('<div class="slide-next" id="slider-nav-next-' + sliderCount + '"><a href="#">' + settings.dynamicArrowRightText + '</a></div>')
};
var sliderWidth = slider.width(); // Определяем ширину слайдера
$('.slide', slider).css({ width : sliderWidth }); // Устанавливаем sliderWidth шириной для каждой панели
var panelWidth = slider.find('.slide').width(); // Определяем ширину каждой панели в слайдере
var panelCount = slider.find('.slide').size(); // Определяем количество панелей в слайдере
var panelContainerWidth = panelWidth*panelCount; // Суммарная ширина всех панелей
$('.slide', slider).wrapAll('<div class="slides"><div class="deepest"></div></div>'); // Обволакиваем все панели в контейнер
$('div.slides > div', slider).css({ width : panelContainerWidth }); // Устанавливаем panelContainerWidth как ширину обертки
var navClicks = 0; // Используется если autoSlideStopWhenClicked = true
if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount){
var currentPanel = parseInt(location.hash.slice(1));
var offset = - (panelWidth*(currentPanel - 1));
$('div.slides > div', slider).css({ marginLeft : offset })
} else if (settings.firstPanelToLoad!=1 && settings.firstPanelToLoad <= panelCount){
var currentPanel = settings.firstPanelToLoad;
var offset = - (panelWidth*(currentPanel - 1));
$('div.slides > div', slider).css({ marginLeft : offset })
} else {
var currentPanel = 1
};
slider.children('.slides').find('.slide').removeClass('active').parents('.slides > div').find('.slide:eq(' + (currentPanel - 1) + ')').addClass('active');
function reinit() {
var sliderWidth = slider.width(); // Определяем ширину слайдера
$('.slide', slider).css({ width : sliderWidth }); // Устанавливаем sliderWidth шириной для каждой панели
var panelWidth = slider.find('.slide').width(); // Определяем ширину каждой панели в слайдере
var panelCount = slider.find('.slide').size(); // Определяем количество панелей в слайдере
var panelContainerWidth = panelWidth*panelCount; // Суммарная ширина всех панелей
if (currentPanel == panelCount){
var offset = 0;
currentPanel = 1;
$('div.slides > div', slider).css({ marginLeft : offset })
} else {
currentPanel = $('.slide.active', slider).index();
var offset = - (panelWidth*currentPanel);
$('div.slides > div', slider).css({ marginLeft : offset })
};
$('div.slides > div', slider).css({ width : panelContainerWidth }); // Устанавливаем panelContainerWidth как ширину обертки
var panelHeight = $('.slide.active', slider).height();
slider.css({ height : panelHeight });
}
reinit();
$(window).on('resize', function() {
reinit();
});
$('#slider-nav-prev-' + sliderCount + ' a').click(function(){
var sliderWidth = slider.width(); // Определяем ширину слайдера
$('.slide', slider).css({ width : sliderWidth }); // Устанавливаем sliderWidth шириной для каждой панели
var panelWidth = slider.find('.slide').width(); // Определяем ширину каждой панели в слайдере
var panelCount = slider.find('.slide').size(); // Определяем количество панелей в слайдере
var panelContainerWidth = panelWidth*panelCount; // Суммарная ширина всех панелей
$('div.slides > div', slider).css({ width : panelContainerWidth }); // Устанавливаем panelContainerWidth как ширину обертки
navClicks++;
if (currentPanel == 1){
offset = - (panelWidth*(panelCount - 1));
alterPanelHeight(panelCount - 1);
currentPanel = panelCount;
slider.children('.slider-nav').find('a.current').removeClass('current').parents('ul').find('li:last a').addClass('current');
slider.children('.slides').find('.active').removeClass('active').parents('.slides > div').find('.slide:last').addClass('active')
} else {
currentPanel -= 1;
alterPanelHeight(currentPanel - 1);
offset = - (panelWidth*(currentPanel - 1));
slider.children('.slider-nav').find('a.current').removeClass('current').parent().prev().find('a').addClass('current');
slider.children('.slides').find('.slide').removeClass('active').parents('.slides > div').find('.slide:eq(' + (currentPanel - 1) + ')').addClass('active');
};
$('div.slides > div', slider).animate({ marginLeft : offset }, settings.slideEaseDuration, settings.slideEaseFunction);
if (settings.crossLinking) { location.hash = currentPanel };
return false
});
$('#slider-nav-next-' + sliderCount + ' a').click(function(){
var sliderWidth = slider.width(); // Определяем ширину слайдера
$('.slide', slider).css({ width : sliderWidth }); // Устанавливаем sliderWidth шириной для каждой панели
var panelWidth = slider.find('.slide').width(); // Определяем ширину каждой панели в слайдере
var panelCount = slider.find('.slide').size(); // Определяем количество панелей в слайдере
var panelContainerWidth = panelWidth*panelCount; // Суммарная ширина всех панелей
$('div.slides > div', slider).css({ width : panelContainerWidth }); // Устанавливаем panelContainerWidth как ширину обертки
navClicks++;
if (currentPanel == panelCount){
offset = 0;
currentPanel = 1;
alterPanelHeight(0);
slider.children('.slider-nav').find('a.current').removeClass('current').parents('ul').find('a:eq(0)').addClass('current');
slider.children('.slides').find('.slide').removeClass('active').parents('.slides > div').find('.slide:eq(0)').addClass('active')
} else {
offset = - (panelWidth*currentPanel);
alterPanelHeight(currentPanel);
currentPanel += 1;
slider.children('.slider-nav').find('a.current').removeClass('current').parent().next().find('a').addClass('current');
slider.children('.slides').find('.slide').removeClass('active').parents('.slides > div').find('.slide:eq(' + (currentPanel - 1) + ')').addClass('active');
};
$('div.slides > div', slider).animate({ marginLeft : offset }, settings.slideEaseDuration, settings.slideEaseFunction);
if (settings.crossLinking){ location.hash = currentPanel };
return false
});
if (settings.dynamicTabs){
var dynamicTabs = '<div class="slider-nav" id="slider-nav-' + sliderCount + '"><ul class="deepest"></ul></div>';
switch(settings.dynamicTabsPosition){
case "bottom":
slider.append(dynamicTabs);
break;
default:
slider.prepend(dynamicTabs);
break
};
ul = $('#slider-nav-' + sliderCount + ' ul');
$('.slide', slider).each(function(n) {
ul.append('<li class="tab' + (n + 1) + '"><a href="#' + (n + 1) + '">' + $(this).find(settings.panelTitleSelector).text() + '</a></li>')
});
//navContainerWidth = slider.width() + slider.children('.slide-nav-prev').width() + slider.children('.slide-nav-nex').width();
//ul.css({ width : navContainerWidth });
switch(settings.dynamicTabsAlign){
case "center":
ul.addClass('slider-nav-center');
break;
case "left":
ul.addClass('slider-nav-left');
break;
case "right":
ul.addClass('slider-nav-right');
break
}
};
$('#slider-nav-' + sliderCount + ' a').each(function(z) {
$(this).bind("click", function() {
var sliderWidth = slider.width(); // Определяем ширину слайдера
$('.slide', slider).css({ width : sliderWidth }); // Устанавливаем sliderWidth шириной для каждой панели
var panelWidth = slider.find('.slide').width(); // Определяем ширину каждой панели в слайдере
var panelCount = slider.find('.slide').size(); // Определяем количество панелей в слайдере
var panelContainerWidth = panelWidth*panelCount; // Суммарная ширина всех панелей
$('div.slides > div', slider).css({ width : panelContainerWidth }); // Устанавливаем panelContainerWidth как ширину обертки
navClicks++;
$(this).addClass('current').parents('ul').find('a').not($(this)).removeClass('current');
offset = - (panelWidth*z);
alterPanelHeight(z);
currentPanel = z + 1;
$('div.slides > div', slider).animate({ marginLeft : offset }, settings.slideEaseDuration, settings.slideEaseFunction);
slider.children('.slides').find('.slide').removeClass('active').parents('.slides > div').find('.slide:eq(' + (currentPanel - 1) + ')').addClass('active');
if (!settings.crossLinking) { return false }
})
});
$(settings.externalTriggerSelector).each(function() {
if (sliderCount == parseInt($(this).attr("rel").slice(12))) {
$(this).bind("click", function(){
var sliderWidth = slider.width(); // Определяем ширину слайдера
$('.slide', slider).css({ width : sliderWidth }); // Устанавливаем sliderWidth шириной для каждой панели
var panelWidth = slider.find('.slide').width(); // Определяем ширину каждой панели в слайдере
var panelCount = slider.find('.slide').size(); // Определяем количество панелей в слайдере
var panelContainerWidth = panelWidth*panelCount; // Суммарная ширина всех панелей
$('div.slides > div', slider).css({ width : panelContainerWidth }); // Устанавливаем panelContainerWidth как ширину обертки
navClicks++;
targetPanel = parseInt($(this).attr("href").slice(1));
offset = - (panelWidth*(targetPanel - 1));
alterPanelHeight(targetPanel - 1);
currentPanel = targetPanel;
slider.children('.slider-nav').find('a').removeClass('current').parents('ul').find('li:eq(' + (targetPanel - 1) + ') a').addClass('current');
slider.children('.slides').find('.slide').removeClass('active').parents('.slides > div').find('.slide:eq(' + (currentPanel - 1) + ')').addClass('active');
$('div.slides > div', slider).animate({ marginLeft : offset }, settings.slideEaseDuration, settings.slideEaseFunction);
if (!settings.crossLinking){ return false }
})
}
});
if (settings.crossLinking && location.hash && parseInt(location.hash.slice(1)) <= panelCount){
$("#slider-nav-" + sliderCount + " a:eq(" + (location.hash.slice(1) - 1) + ")").addClass("current")
} else if (settings.firstPanelToLoad != 1 && settings.firstPanelToLoad <= panelCount){
$("#slider-nav-" + sliderCount + " a:eq(" + (settings.firstPanelToLoad - 1) + ")").addClass("current")
} else {
$("#slider-nav-" + sliderCount + " a:eq(0)").addClass("current")
};
if (settings.autoHeight){
panelHeight = $('.slide:eq(' + (currentPanel - 1) + ')', slider).height();
slider.css({ height : panelHeight })
};
if (settings.autoSlide){
slider.ready(function() {
setTimeout(autoSlide, settings.autoSlideInterval)
})
};
function alterPanelHeight(x) {
if (settings.autoHeight) {
panelHeight = $('.slide:eq(' + x + ')', slider).height();
slider.animate({ height : panelHeight }, settings.autoHeightEaseDuration, settings.autoHeightEaseFunction)
}
};
function autoSlide() {
var sliderWidth = slider.width(); // Определяем ширину слайдера
$('.slide', slider).css({ width : sliderWidth }); // Устанавливаем sliderWidth шириной для каждой панели
var panelWidth = slider.find('.slide').width(); // Определяем ширину каждой панели в слайдере
var panelCount = slider.find('.slide').size(); // Определяем количество панелей в слайдере
var panelContainerWidth = panelWidth*panelCount; // Суммарная ширина всех панелей
$('div.slides > div', slider).css({ width : panelContainerWidth }); // Устанавливаем panelContainerWidth как ширину обертки
if (navClicks == 0 || !settings.autoSlideStopWhenClicked) {
if (currentPanel == panelCount){
var offset = 0;
currentPanel = 1
} else {
var offset = - (panelWidth*currentPanel);
currentPanel += 1
};
alterPanelHeight(currentPanel - 1);
slider.children('.slider-nav').find('a').removeClass('current').parents('ul').find('li:eq(' + (currentPanel - 1) + ') a').addClass('current');
slider.children('.slides').find('.slide').removeClass('active').parents('.slides > div').find('.slide:eq(' + (currentPanel - 1) + ')').addClass('active');
$('div.slides > div', slider).animate({ marginLeft : offset }, settings.slideEaseDuration, settings.slideEaseFunction);
setTimeout(autoSlide, settings.autoSlideInterval)
}
};
$('.slide', slider).show().end().find("p.loading").remove();
slider.removeClass("preload");
sliderCount++
})
}; -
Интересует вот что - как правильно оформить функцию в определении переменной, даже через тот setInterval чтобы она возвращала значение этой ширины?
-
Да, повесил. Все нужные переменные определяются единственный раз в начале скрипта и являются общими для всех функций ниже.
При ресайзе идет работает
$(window).bind('resize', function(){
// объявление переменных по новой
// скрипт реинициализации.
});Получается так, что при ресайзе переменные обновляются и все нормально. Ширина объявляется по новой. А вот те функции, которые ниже, в них, при уже измененной ширине браузера, переменные берутся из первоначальных, кот. в начале скрипта.
Чтобы не писать в каждой функции объявление этих переменных, хочется понять как можно эти первоначальные значения обновлять если происходит ресайз.
-
Ребята, здравствуйте. Подскажите, пожалуйста, как для var сделать отслеживание изменения значения:
var width = $('#content').width();
При ресайзе окна браузера значение должно обновится без перезагрузки страницы. Есть просто функции, которые от этого значения работают. А при ресайзе значение остается прежним и отображение страдает.
-
Работает
$('[data-plugin]').each(function(){
var plugin = $(this),
type = plugin.data('plugin'),
settings = plugin.data('settings');
settings = $.extend( settings, settings );
if( type=='slider' && settings ){
plugin.codaSlider(settings);
}
});alexriz, в кавычки обернул только ключи и помогло
... "autoSlide":1,"autoSlideInterval":10000, ...
Спасибо всем большое за помощь
-
Честно говоря, за IE не знаю. Попробуйте тестовый js с alert() внутри подключить, и проверить.
-
До того, как прочитать ответы, делал так:
<div id="slider-1" class="slider-plugin slider-catalyst" data-plugin="slider" data-settings='{autoSlide:1,autoSlideInterval:10000,slideEaseFunction:"linear",slideEaseDuration:300,autoHeightEaseFunction:"linear",autoHeightEaseDuration:300,crossLinking:0,dynamicArrows:0}'>
...код слайдов...
</div>
<div id="slider-2" class="slider-plugin slider-default" data-plugin="slider" data-setting="{autoSlide:1,autoSlideInterval:10000,crossLinking:0,dynamicArrows:0,dynamicTabs:0}">
...код слайдов...
</div>В js инициализирую так:
var plugins = {};
$( '[data-plugin]', plugins ).each(function(){
var plugin = $(this),
type = plugin.data('plugin'),
settings = plugin.data('settings');
if( type=='slider' && settings ){
plugin.codaSlider(settings);
}
});Не работает, зараза
С Вашими примерами тоже.
-
В jquery
$.load('путь к файлу js').done(callback после загрузки файла)
-
Здравствуйте. Есть небольшая проблема с подключением настроек из пользовательского тега data-settings для плагина coda slider.
В шаблоне идет след. код:
<div id="slider-1" class="slider-plugin" data-plugin="slider" data-settings="{autoSlide:1,autoSlideInterval:10000,slideEaseFunction:'linear',slideEaseDuration:300,autoHeightEaseFunction:'linear',autoHeightEaseDuration:300,crossLinking:0,dynamicArrows:0}">
код шаблона плагина
</div>Таких блоков на странице несколько. ID и настройки в атрибуте data-settings у каждого разные.
Инициализация происходит в подключаемом js-файле след. образом
(function($){
$(document).ready(function() {
$('div[data-plugin=slider]').each(function(){
var slider = $(this);
var settings = slider.attr('data-settings');
slider.codaSlider(settings);
});
});
});В итоге, на странице плагины включаются, но с дефолтными настройками.
Подскажите, пожалуйста, что я упускаю?
-
-
Из-за особенностей дизайна была сделана верстка таким образом, что у <html> и <body> вертикальный скролл не появляется. Вместо этого в <body> есть контейнер (#body) с абсолютным позиционированием со значениями top - 35px; left, bottom и right - 0px. В пространстве с высотой в 35px вверху находится тулбар также с абсолютным позиционированием. Сам код тулбара является дочерним элементом контейнера #body.
Вся соль в том, что в opera когда курсор над тулбаром и я кручу колесико, скролл в #body работает, т.е. опускается/поднимается. Но в других браузерах это не срабатывает.
Есть ли способ заставить прокручиваться скролл если курсор находится над фиксированным блоком, кот., в свою очередь, находится внутри такого же, фиксированного блока? Может JS есть какой-то? Подскажите, пожалуйста
-
Та не, для картинки закруглять углы через css для меня не вариант, потому что картинки там могут быть и прямоугольные.
Непонятно, почему в Opera вложенный контейнер размерами 66х66 пикселей с overflow: hidden и закругленными углами не работает как этого ожидаешь - не прячет углы картинки под закругленные углы контейнера, а показывает только часть картинки, которая должна быть видна из-за overflow:hidden для контейнера, в виде квадрата, как это было бы, если закругленных углов там не было.
Меня это совсем из колеи выбило. Третий день не могу найти решение
-
Суть проблемы в след. Есть контейнер DIV с закругленными углами до такой степени, что получается круг. Внутри него еще контейнер DIV с overflow: hidden и также с закругленными углами как и первый. И наконец в нем тег картинки - IMG. Во всех браузерах, кроме IE ниже 9, все отображается нормально, в соответствии с ожиданиями, картинка не выходит за границы контейнера, и на вид становится тоже круглой, но в Opera этого не происходит. Картинка не выходит за рамки, но на радиус углов не реагирует - остается квадратной
В опере:
Остальные:
Разметка HTML:
<div class="user_photo">
<div class="comm_photo">
<img src="{foto}" alt="" width="70" />
</div>
</div>Вот CSS:
.user_photo {
border: 3px solid #90ac62;
-moz-border-radius: 36px;
-webkit-border-radius: 36px;
border-radius: 36px;
height: 66px;
padding: 1px;
position: relative;
width: 66px;
}
.user_photo .comm_photo {
-moz-border-radius: 36px;
-webkit-border-radius: 36px;
border-radius: 36px;
-moz-box-shadow:
inset 0 0 10px rgba(0,0,0,0.75);
-webkit-box-shadow:
inset 0 0 10px rgba(0,0,0,0.75);
box-shadow:
inset 0 0 10px rgba(0,0,0,0.75);
height: 66px;
overflow: hidden;
padding: 0;
width: 66px;
}Подскажите, пожалуйста, как решить эту проблему в Opera?
UPD: Забыл дописать для внутреннего блока overflow: hidden. Был в другом CSS файле
-
В основном учу html и css, по-ходу учусь js и php
-
Я firebug'ом как-то не пользовался, но попробовал и увидел что возвращает текст сразу со всех найденных элементов. Поэтому и не находит в массиве подходящего текста. Спасибо за помощь. Вам обоим. Я учусь пока что на инженера-технолога в сфере строительства, а сайтостроение как хобби. Поэтому еще не тот уровень знаний JS как хотелось бы.
-
Я ведь попросил о помощи с написанием условия, а не послать меня на сайт с документацией, которую (явно!) я читал; скрипт написан мною, но некоторые детали мне не ясны.
Вы коммерческий проект делаете?
Вам дали задание, вы сделали его за счет чужой головы, получили денежки и радуетесь, что нашли на форуме лошков, которые за 0 копеек все чудненько заколбасили. Вопрос, как к вам относиться? Как к чудаку на букву М?
Вопрос, вы хоть что-то поняли из того кода, что вам дали? Я уверен что ничего. Тогда зачем вам помогать дальше?
Можете не отвечать на мои вопросы, потому что с вами и так все понятно.
Кривой способ. Но вроде работает.
Почему вы думаете, что кривой?
Что вам со мной понятно!? А ничего! Если вы всю жизнь и попадаются одни такие чудаки на букву М, то не стоит всех их клеймить этим логотипом. Среди них могут попасться нормальные адекватные люди, готовые в будущем подсобить в чем-то другом.
Отвечу вам на первый вопрос, а из ответа сделаете вывод сами. Проект у меня не комерческий, а для себя любимого. Как закончу, скину ссылку. Из трехлетнего опыта единственным за что я получил деньги, так это за установку CBox чата на CMS DataLife Engine. Все!
И если вы решите вдруг побывать на форуме этой CMS, то вы сможете меня там найти, и увидеть, что я помогаю людям на голодном энтузиазме.
И да, я понял принцип работы из примера.
PS. Тему перекинул? Молодееец...
PSS. И если я пришел на этот форум, то не ради корыстных целей или обманом что-то получить. Я готов поделится и своими знаниями и опытом.
-
Одно только теперь не ясно, если на странице генерит более одного блока с классом box, то почему-то ни к одному блоку не добавляется указаный класс.
Critical Error, реши по-быстренькому проблему.
Я понимаю, что вы умный человек и опыта у вас ого-го, однако ваш мозг воспринимает мои сообщения как неадекватное общение, а руки так и чешутся чтобы написать что-то саркастичное и с презрением чтоб почуствовать себя царем, ну, или царевной...
Если группа светится красненьким это не значит что можно вести себя как чудак на букву М.
Я ведь попросил о помощи с написанием условия, а не послать меня на сайт с документацией, которую (явно!) я читал; скрипт написан мною, но некоторые детали мне не ясны.
Одно только теперь не ясно, если на странице генерит более одного блока с классом box, то почему-то ни к одному блоку не добавляется указаный класс.
Кривой способ. Но вроде работает.
Интересно было бы узнать как можно было бы улучшить..
По идее, в написаном вами первом варианте должно в DOM находить элементы с классом box и добавлять зависимый от массива класс, не смотря сколько на странице таких элементов, но почему не происходт то что ожидалось я не понимаю, увы.
Попробую второй вариант, вижу что работает. Еще раз спасибо. огромное
-
Одно только теперь не ясно, если на странице генерит более одного блока с классом box, то почему-то ни к одному блоку не добавляется указаный класс.
-
Попробуй так:
var usa = [ 'Нью Йорк', 'Лос Анджелес', 'Вашингтон' ];
if(inString(usa)) {
$( '.box' ).addClass( 'box-usa' );
}
var russia = [ 'Москва', 'Санкт Петербург', 'Владивосток' ];
if(inString(russia)){
$( '.box' ).addClass( 'box-russia' );
}А теперь определим inString :
function inString(ar){
var s = $( '.box header' ).text();
if (jQuery.inArray(s,ar)>-1) {
return true;
}
}Да, все получилось. Теперь более детально изучу принцип работы)
PS. Не знаю почему, но не могу плюс поставить(
-
Как правильно записать условие в каждом из случаев, чтобы, в зависимоси от того, с каким массивом совпадет текст, указанному элементу с классом box добавлялся нужный класс?
http://api.jquery.com/jQuery.inArray/
Ответ тут
И как же это прикрутить интересно!? У меня ведь два массива! Даже если я и сделаю проверку, один хрен будет добавлять два класса.
Я не могу никак сообразить, что именно нужно записать в if() для каждого случая.
То есть, если город принадлежит массиву usa то добавляется класс box-usa, если к russia - box-russia
-
Есть код js
var usa = [ 'Нью Йорк', 'Лос Анджелес', 'Вашингтон' ];
if( $( '.box header' ).text(usa) ) {
$( '.box' ).addClass( 'box-usa' );
}
var russia = [ 'Москва', 'Санкт Петербург', 'Владивосток' ];
if( $( '.box header' ).text(russia) ) {
$( '.box' ).addClass( 'box-russia' );
}и код шаблона (динамически выводится)
<div class="box">
<header><h5>{city}</h5></header>
{info}
</div>Суть проблемы в том, что когда генерится контент, DIV'у с классом box добавляются оба класса - box-usa и box-russia.
Как правильно записать условие в каждом из случаев, чтобы, в зависимоси от того, с каким массивом совпадет текст, указанному элементу с классом box добавлялся нужный класс?
Получение значений в Jquery UI
in JavaScript
Posted
Разобрался. Если предустановлен эффект, то можно получить его properties.effect