Opaklığı ve transformu değiştirecek jQuery kodu

kraljmehmet

Hectopat
Katılım
22 Nisan 2018
Mesajlar
49
Daha fazla  
Cinsiyet
Erkek
JavaScript:
    $(function(){
        $(".popup__close-button").click(function(){
            $(".popup").css({
                opacity : "0",
                transform : "scale(.5,.5)"
            }, function(){
                $(".popup").css("display", "none");
            });
        });
    });

Böyle bir kod yazdım.
İlk önce butona tıklayınca opaklığı ve transformu değişecek. Onlar değiştikten sonra display none özelliğini verecek. Böyle denedim ama olmadı. Nerede hata yapıyorum?
 
Son düzenleyen: Moderatör:
Çözüm
M
Gecikme olmasını istiyordum hocam.
Fakat, başka bir yöntem ile çözdüm, ne kadar sağlıklı olmasa da.

Doğru olanı aşağıdaki gibidir. Yardımcı olabildiysem ne mutlu bana
JavaScript:
$(".Popup").delay(3000).queue(function(){
            $(this).css("display", "none");
        })
HTML:
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Başlıksız Belge</title>
    <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
</head>
<body>
    <button class="Button">Try</button>
    <div class="Popup">Keep going</div>
    <script>
    $(".Button").click(function(){
        $(".Popup").css({
            opacity   : "0",
            transform : "scale(.5,.5)",
            display   : "none"
        });
    });
    </script>
</body>
</html>
 
Son düzenleyen: Moderatör:
Maalesef bu kadar basit değilmiş hocam.
 
Maalesef bu kadar basit değilmiş hocam.
Yapmak istediğinizi biraz anladım ancak açıklamanızın dışına çıkmadım. Açıklamanıza bakılırsa önce opacity ve transform, sonrasında display özelliğini değiştirmek istediğinizi söylemişsiniz. Aralarında gecikme veya başka bir şey olacağına dair bir şey yazmamışsınız.
 
Gecikme olmasını istiyordum hocam.
Fakat, başka bir yöntem ile çözdüm, ne kadar sağlıklı olmasa da.

Kod:
$(function(){
        $(".popup__close-button").click(function(){
            $(".popup").css({
                "pointer-events" : "none",
                opacity : "0",
                transform : "scale(.2,.2)"
            }).attr("popup-open","0");
            $("body").css("overflow-y", "");
        });
        $(".popup-open").click(function(){
            var thisPopup = $(this).attr("data-popup");
            $(".popup[data-popup=" + thisPopup + "]").css({
                "pointer-events" : "",
                opacity : "",
                transform : ""
            }).attr("popup-open","1");
            $("body").css("overflow-y", "hidden");
        });
    });
 
HTML:
    <button class="Button">Try</button>
    <div class="Popup" style="background-color: red; height: 200px; ">Keep going</div>
    <script>
    $(".Button").click(function(){
        $(".Popup").animate({
            opacity   : "0.05",
            width : "50%",
            height : "100"
        }, 3000, function(){
            $(this).css("display", "none");
        });
    });
    </script>
Animate fonksiyonu ile de yapılabilir.
 
Animate denedim fakat animatede transform özelliği olmuyor.
Zaten sorunu çözmüştüm, yardımın için teşekkür ederim.
 
Son düzenleyen: Moderatör:
@kraljmehmet Hocam öğrenmeye çalıştığınız programlama dilinin geliştiricilerinin Discord'una girerseniz çok daha hızlı cevap alırsınız. Örneğin SpeakJS sunucusu:

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Son düzenleyen: Moderatör:
Gecikme olmasını istiyordum hocam.
Fakat, başka bir yöntem ile çözdüm, ne kadar sağlıklı olmasa da.

Doğru olanı aşağıdaki gibidir. Yardımcı olabildiysem ne mutlu bana
JavaScript:
$(".Popup").delay(3000).queue(function(){
            $(this).css("display", "none");
        })
 
Son düzenleyen: Moderatör:
Çözüm
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…