Я написал этот плагин jQuery, но он не будет работать в Opera (я использую 11.51).Он отлично работает во всех других браузерах, даже в IE7, так что это действительно поставило меня в тупик.
Любая помощь очень ценится, спасибо.
(function($) {
$.fn.toggleBox = function(options) {
var opts = $.extend({}, $.fn.toggleBox.defaults, options);
return this.each(function() {
var $this = $(this);
var target;
$this.click(function(ev) {
ev.preventDefault();
$(target).stop(1,1).slideToggle(opts.speed, 'swing', function() {
$(target).animate({'opacity': 1});
});
}).hover(
function(){
$(target).stop(1,1).animate({'opacity': 0.4});
},
function(){
$(target).stop(1,1).animate({'opacity': 1});
}
)
.each(function(){
$(this).css('cursor', 'pointer');
target = $(this).attr('data-toggler');
target = $('[data-toggle-content=' + target + ']');
if ( $(this).attr('data-toggler-state') == 'open') {
$(target).show();
} else {
$(target).hide();
}
});
});
};
// Default settings for the plugin
$.fn.toggleBox.defaults = {
speed: 500
};
})(jQuery);
$('[data-toggler]').toggleBox();
// end toggler
Ниже приведена разметка html, используемая для переключателяи это содержание:
<div data-toggler="togglerID"> Click to toggle content</div>
<div data-toggle-content="togglerID"> Toggler content </div>
=========== РЕДАКТИРОВАТЬ ===========
Хорошо, что цифры ... как толькокогда я отправляю вопрос, я выясняю это.
Мне нужно было изменить последнюю строку, где я вызываю плагин для запуска в domReady:
jQuery(function ($) { $('[data-toggler]').toggleBox(); });
Теперь отлично работает в Opera.