সিএসএস অ্যানিমেশন সম্পত্তি অ্যানিমেট করার পরে থাকে


94

আমি সিএসএস অ্যানিমেশন সম্পত্তি শেষ করার পরে থাকার জন্য চেষ্টা করছি, এটি কি সম্ভব?

এটিই আমি অর্জন করার চেষ্টা করছি ...

ব্যবহারকারী পৃষ্ঠাটিতে অবতরণ করার সময় উপাদানটি লুকানো উচিত, 3 সেকেন্ড (বা যাই হোক না কেন) পরে, এটি বিবর্ণ হওয়া উচিত এবং একবার অ্যানিমেশনটি শেষ হয়ে গেলে এটি সেখানেই থাকা উচিত।

এখানে একটি বেহাল চেষ্টা ... http://jsfiddle.net/GZx6F/

সংরক্ষণের জন্য কোডটি এখানে ...

<h2>Test</h2>

<style>
@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 0.9;
    }
}

h2 {
    animation: fadeIn 1s ease-in-out 3s;
}
</style>

আমি jQuery দিয়ে এটি কিভাবে জানি জানি .. এটি এমন হবে ...

<h2>test</h2>

<script>
  $(document).ready(function(){
    $('h2').hide().delay(3000).fadeIn(3000)
  });
</script>

হয় W3Schools পুরানো? এটি বলে যে ক্রোম এবং ফায়ারফক্স কেবলমাত্র বিকল্পগুলিকে সমর্থন করে।
ইম্ব্রিয়ানস্রিড

4
@iambriansreed: আমি সবসময় অনুমান এটা :)
BoltClock

4
@ iambriansreed এমনকি w3 স্কুলগুলি অনুসন্ধানের ফলাফলগুলিতে ক্লিক করেন না। যদি আপনি দুর্ঘটনাক্রমে এটি করেন তবে আপনার মনিটর থেকে সরে যান এবং আপনার মাউসের পিছনের বোতামটি টিপুন।
ডগ 65536

উত্তর:


169

আমি মনে করি আপনি animation-fill-modeCSS3 সম্পত্তি খুঁজছেন

https://developer.mozilla.org/en/CSS/animation-fill-mode

অ্যানিমেশন-ফিল-মোড সিএসএস বৈশিষ্ট্য নির্ধারণ করে যে এটি কার্যকর করার আগে এবং পরে কোনও সিএসএস অ্যানিমেশন কীভাবে তার টার্গেটে শৈলী প্রয়োগ করা উচিত।

আপনার উদ্দেশ্যে কেবল সেট করার চেষ্টা করুন

h2 {
  animation: fadeIn 1s ease-in-out 3s;
  animation-fill-mode: forwards;  
}

ফরোয়ার্ডের মান নির্ধারণ «লক্ষ্য কার্যকর করার সময় সম্মুখীন হওয়া শেষ কীফ্রেমের দ্বারা নির্ধারিত গণিত মানগুলি বজায় রাখে»


4
ধন্যবাদ ফ্যাবরিজিও, দুর্দান্ত, আমি এই উত্তরটি গ্রহণ করব। কেবল একটি অদ্ভুত জিনিস ঘটছে যা আমি অবাক হয়েছি যে আপনি সম্পর্কে কিছু জানেন কিনা - আইওএস-এ (অন্য কোনও কিছুর পরীক্ষা করা হয়নি), যখনই আমি স্ক্রোল করব ততক্ষণে স্বাচ্ছন্দ্যের গণনাটি বিরতি দেওয়া হবে, উদাহরণস্বরূপ, পৃষ্ঠাটি লোড হওয়ার পরে যদি আমি সরাসরি স্ক্রোলিং শুরু করি এটি ম্লান হয় না But তবে আমি যখন 3s স্ক্রোলিং বন্ধ করি তখন গণনা শুরু হয়। এটি কি ডিফল্ট আইওএস আচরণ? ধন্যবাদ
স্পারউহক

কি দুর্দান্ত সমাধান।
লালনুন্তলুঙ্গা ছাকছূয়াক

এটি কি কাঁচা এসভিজি অ্যানিমেশনে পাওয়া যায়?
জাস্টিন

16

ছাড়াও উত্তর এর @Fabrizio Calderan , এটা জানা যে আপনি এমনকি আবেদন করতে পারেন হয়েছে animation-fill-modeসম্পত্তি forwardsথেকে সরাসরি animation। সুতরাং নিম্নলিখিতগুলিও কাজ করা উচিত:

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.9;
  }
}

h2 {
  opacity: 0;
  animation: fadeIn 1s ease-in-out 3s forwards;
}
<script src="//cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
<h2>Test</h2>


1

অ্যানিমেশনটি কীভাবে কার্যকর করা যায় এবং এনিমেশনটি যেমন হয় তেমন থাকার জন্য:

// Beggin
#box {
  /* Give it a width, a height and a background so can see it  */
  width: 200px;
  height: 200px;
  /* Unimportant styling */
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .4) inset;
  border-radius: 7px;
  background: linear-gradient(to bottom, #fff 30%, #fcfcfc 40%, #f8f8f8 50%, #f0f0f0 100%);
  
  /* Starts here: */
  opacity: 0;
  animation: yourName 2800ms ease-in-out 0s forwards;
}

@keyframes yourName {
  0% /* (from) */ {
    opacity: 0;
  }
  100% /* (to) */ {
    opacity: 1;
  }
}
<div id="box"></div>


0

আমারও তেমন কিছু ঘটেছিল। আমি অবস্থান যুক্ত করেছি: যে উপাদানটি অ্যানিমেট ছিল এবং তার জন্য এটি আমার জন্য স্থির করে তুলনামূলক।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.