2010-10-23 2 views
0

Создание этой темы, я довольно новичок в jquery и стараюсь как обычно.Параметры настройки темы jQuery

Только что просмотрел этот учебник и решил сделать снимок собственных настроек темы, чтобы упростить настройку.

Это то, что я до сих пор:

(function($){ 

     $.fn.themeSettings = function(options) { 

       var 
        slideshow = { 
         opacity: '0.5' 
        }, 
        settings = $.extend({}, defaults, options);   
     }; 

     var slideShowShadow = $('#slideShadowTop, #slideShadowBottom, #slideShadowLeft, #slideShadowRight'); 

     slideShowShadow.css({ 
       opacity: slideshow.opacity 
     }); 

})(jQuery); 

Любая помощь будет удивительным, так как Он портя всего текущего JQuery на тему, которую я не добавил к нему еще.

Я думаю, что по коду вы можете видеть, что я пытаюсь выполнить, но, очевидно, так как я новичок в jQuery, я не уверен, как это сделать.

Любая помощь будет высоко ценится, ура

+0

Вы пытаетесь применить опцию непрозрачности, заданную с помощью функции 'tooltip', для элементов в' slideShowShadow'? – andrewle

+0

Да, в основном, пытаюсь изменить непрозрачность слайдаShowShadow с помощью опций – Daryl

ответ

0
$(function(){ 

     var slideshow = { 
       opacity: 1, 
       corners: true, 
       shadows: true 
     }, 
      xShadow = { 
       opacity: 0.5  
     }; 

     // Slideshow Corners & Shadows   
     var $hWrap = $('#headerTopWrapper'); 

     if(slideshow.corners){ 
      $hWrap.prepend('<div id="slideCornersTop"></div>' + "\n" + 
          '<div id="slideCornersBottom"></div>'); 
     } 

     if(slideshow.shadows){ 
      $hWrap.prepend('<div id="slideShadowTop"></div>' + "\n" + 
          '<div id="slideShadowBottom"></div>' + "\n" + 
          '<div id="slideShadowRight"></div>' + "\n" + 
          '<div id="slideShadowLeft"></div>'); 
     } 


     // Slideshow Shadow Opacity 
     var $slideShowShadow = $('#slideShadowTop, #slideShadowBottom, #slideShadowLeft, #slideShadowRight'); 

     $slideShowShadow.css({ 
      opacity: xShadow.opacity 
     }); 

}); 
0

Путь у вас есть плагин установлен прямо сейчас, slideShowShadow.css пытается присвоить slideshow.opacity во время загрузки, так и вне области видимости функции themeSettings, что означает, что slideshow.opacity будет be undefined. Все, что вам нужно сделать, это переместить последние несколько строк в функцию themeSettings таким образом, чтобы они работать, когда вы применить плагин к некоторому элементу по телефону $('#your_elem').themeSettings():

(function($){ 
    $.fn.themeSettings = function(options) { 

    var slideshow = { 
      opacity: '0.5' 
     }, 
     settings = $.extend({}, slideshow, options), 
     slideShowShadow = $('#slideShadowTop, #slideShadowBottom, #slideShadowLeft, #slideShadowRight'); 

    slideShowShadow.css({ 
     opacity: settings.opacity 
    }); 
    }; 
})(jQuery); 

Примечания: Ваш оригинальный пост ссылается неопределенным переменным (default) в функции $.extend, что, я уверен, вы намеревались быть объектом slideshow.

+0

Ahh Я получаю это сейчас, несколько. – Daryl

+0

Как сделать так, чтобы непрозрачность работала тогда, Это перестало прикручивать остальную часть моего кода, который я понимаю, почему и как это работает. Но непрозрачность: slideshow.opacity правильный звонок? Если это так, он не работает:/ – Daryl

+0

Мое намерение на самом деле не является «плагином» его более легкими параметрами для темы, которую я создаю, поэтому на самом деле не было бы готового документа на передней панели с параметрами, я хочу это так в верхней части пользовательского JS-файла. Правильно ли это? – Daryl

Смежные вопросы