2011-03-31 5 views
0

용어를 엉망으로 만들지 않으려면 다음 코드 예제를 참조하십시오. 나는 jQuery Nivoslider을 사용하고 있으며 목록 상자에서 변경했을 때 사용 된 효과를 변경할 수 있기를 원합니다. div에서 효과를 나타내야하지만 실제 효과는 슬라이더에 적용되지 않습니다.동적으로 jQuery 객체 옵션/속성을 설정하십시오.

jQuery ("# slider")와 같은 것을 기대하고있었습니다. 그러나 그것은 작동하지 않는 것 같습니다.

// Listbox  
<select id="slider-effect" name="effect[]" size="10" multiple="multiple" style="height:100px;"> 
<option value="sliceDownRight">Slice Down to Right</option> 
<option value="sliceDownLeft">Slice Down to Left</option> 
<option value="boxRain">Rain Boxes</option> 
<option value="boxRainReverse">Reverse Box Rain</option> 
</select> 

// Javascript that setups NivoSlider (actual div is missing, just an example) 
// shortend options for the example 
jQuery(window).load(function() { 
jQuery('#slider').nivoSlider({"effect":"boxRandom"});}); 


// Javascript that should change the option effect 
// this shows me the effect I set (not included in the code here) 

jQuery('#slider-effect').change(function() { 
var values = jQuery("#slider-effect").val(); 
jQuery('#slider-message').html('<p>Effect set to:' + values + '</p>'); 
jQuery("#slider")["effect"] = values; 
                }); 


     }); 
+1

나는 동의한다. (마침내 받아 들일 수있는 속도는 무엇인지, 어떻게 다루는지를 알아 냈다. 내가받은 좋은 대답. 어쨌든 나를 잘 알게 해주셔서 감사 드리며, 누군가 내 질문에 계속 응답 해 주실 것입니다. – JanWillem

답변

1

내가 초기화 한 후 업데이트 옵션을 맡아 특정 플러그인의 모든 조항을 참조하지 않습니다

다음은 코드의 일부입니다. 대부분의 jQueryUI 플러그인은 다음과 같은 것을 지원합니다 :

jQuery('#something').pluginName('options', updatedOptions); 

여기서 "updatedOptions"는 새로운 값의 맵입니다. 그러나, 나는 그 플러그인에 대한 소스 코드에서 이와 같은 것을 지원하는 흔적을 보지 못했다. 그것은 시작할 때 모든 종류의 옵션을 허용하지만, 아무 것도 변경하는 것에 대해 말할 방법이 없습니다.

완전히 다시 초기화하도록 설득하는 것이 가능할 수도 있지만, 플러그인은 DOM에 이상한 물건을 (아마도) 할 수 있기 때문에 복잡 할 수 있습니다.

+0

감사합니다. pointy, maybe IFRAME을 새로 고침하여 효과를 낼 수 있습니다! – JanWillem

관련 문제