ホームページ >ウェブフロントエンド >jsチュートリアル >jquery はアニメーション効果を備えた新浪微博のようなポップアップ レイヤー コードを実装します (閉じたりドラッグしたりできる)

jquery はアニメーション効果を備えた新浪微博のようなポップアップ レイヤー コードを実装します (閉じたりドラッグしたりできる)

PHPz
PHPz転載
2016-05-16 15:36:581689ブラウズ

この記事では主に、アニメーション効果を備えた新浪微博を模倣したポップアップ レイヤーを実装するための jQuery のコードを紹介します。これには、マウス イベントに対する jQuery の応答とページ要素の属性の変換機能が含まれます。特定の参照値があります。参照値については、必要な友人が参照できます。詳細は次のとおりです。

これは、アニメーション付きのポップアップ レイヤーの jQuery 実装です。元々は、アニメーションをシミュレートするために設計されました。その後、jQuery が導入され、アニメーション効果を追加する方法がわからなかったので、このようなポップアップ Web ページ レイヤー効果を作成しました。ボタンをクリックすると、ポップアップ レイヤーが徐々に現れて閉じることができます。もちろん、移動すると、コントロールの左上隅の絶対位置も徐々に消えます。マウスの位置に基づいて計算され、マウスを放すと移動が停止し、不透明に戻ります。

実行中のエフェクトのスクリーンショットは次のとおりです:

オンライン デモのアドレスは次のとおりです:

http: //demo.jb51.net/ js/2015/jquery-f-sina-flash-style-close-able-dlg-demo/

具体的なコードは次のとおりです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery-1.6.2.min.js" type="text/javascript"></script>
<style type="text/css">
#t{ margin:30px 0 0 100px;}
.cc {
  border:1px solid #000;
  position:absolute;
  top:60px;
  left:180px;
  height: 150px;
  width: 300px;
  display:none;
}
.cc h2{ display:block; width:270px; font-size:12px; float:left; text-align:center;}
.cc span{ display:block; width:20px; height:20px; font-size:18px; float:right; border:1px solid #F00; background:#999; text-align:center;}
</style>
<script language="javascript">
$(function(){
  var _move=false;//移动标记
  var _x,_y;//鼠标离控件左上角的相对位置
  $(&#39;#t&#39;).click(
    function(){
    $(&#39;.cc&#39;).fadeIn(&#39;slow&#39;);
      });
  $(&#39;.cc span&#39;).click(function(){
      $(&#39;.cc&#39;).hide(&#39;fast&#39;);
      })
  $(&#39;.cc&#39;).mousedown(function(e){
    _move=true;
  _x=e.pageX-parseInt($(".cc").css("left"));
  _y=e.pageY-parseInt($(".cc").css("top"));
  $(".cc").fadeTo(20, 0.5).css(&#39;cursor&#39;,&#39;move&#39;);//点击后开始拖动并透明显示
    });
   $(&#39;.cc&#39;).mousemove(function(e){
  if(_move){
   var x=e.pageX-_x;//移动时根据鼠标位置计算控件左上角的绝对位置
   var y=e.pageY-_y;
   $(".cc").css({top:y,left:x});//控件新位置
  }
 }).mouseup(function(){
 _move=false;
 $(".cc").fadeTo("fast", 1).css(&#39;cursor&#39;,&#39;auto&#39;);//松开鼠标后停止移动并恢复成不透明
 });
});
</script>
<title>新浪微博的弹出层效果</title>
</head>
<body>
<input id="t" name="1" type="button" value="弹出层" />
<p class="cc"><h2>点击可以拖拽哦</h2><span>X</span></p>
</body>
</html>

上記はこの章の全内容です。その他の関連チュートリアルについては、jQuery ビデオ チュートリアル をご覧ください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る