2014-05-02 30 views
0

我有這樣的事情:添加插圖到box-shadow屬性在jQuery的更新動態

$('.inset').click(function(){ 

    if($('.inset').is(':checked')){ 
     $('.box-shadow').css('boxShadow','inset'); 
    }else{ 
     $('.box-shadow').css('boxShadow',''); 
    } 
}); 

也就是說,基本上,當複選框被選中做財產以後,當它不檢查的話做另一件事。

嗯,我想要做的是,當複選框被選中,在boxShadow特性(實際上是:box-shadow: 5px 5px 5px #000;更改爲box-shadow: inset 5px 5px 5px #000;,當它不檢查,返回更改:box-shadow: 5px 5px 5px #000;

這可能是簡單,但問題是,其他屬性(爲5px 5px的5px的#000),AR並不總是相同的,因此,有一種方法可以做這樣的事情

$('.inset').click(function(){ 

     if($('.inset').is(':checked')){ 
      $('.box-shadow').css('boxShadow','+inset'); 
     }else{ 
      $('.box-shadow').css('boxShadow','-inset'); 
     } 
    }); 
+0

-1因爲你不知道如何選擇最佳答案。如果答案看起來相同,則應選擇先發布的**。 –

回答

-1

你可以試試這個:

$('.inset').on('change', function(){ 
    $('.box-shadow').css('boxShadow', function(i,old) { 
     return old.indexOf('inset') === -1 ? old + ' inset' : old.replace(/\s+inset/,'') 
    }); 
}); 

基本上 '開' 和使用 'CSS' 從jQuery和JavaScript中 '代替', '的indexOf'!

+1

我想知道爲什麼這看起來與David Thomas的代碼**太相同**,這完全是David Thomas代碼的副本,儘管我不確定是否真的複製了它。在David Thomas的代碼發佈後,這個答案也發佈了** 2h 35m **。 OP應該沒有選擇David Thomas的答案。 –

0

你可以這樣做:

$('.inset').click(function(){ 
    if($('.inset').is(':checked')){ 
     $('.box-shadow').css('box-shadow','inset 5px 5px 5px #000'); 
    }else{ 
     $('.box-shadow').css('box-shadow','5px 5px 5px #000'); 
    } 
}); 

或者製作兩個CSS類,一個插入一個,一個沒有,只需在它們之間切換。