SlideShare a Scribd company logo
ユーザのタップに合わせて
  表示を変えるの術
    2012/11/28
      silvers
今日のテーマ
今日のテーマ
 jQueryでなんか
  タップすると
ボタンのデザインが
変わるやつが知りたい
今日のテーマ
 jQueryでなんか
  タップすると
ボタンのデザインが
変わるやつが知りたい




いろんなやりかたあるよ!
自己紹介

•   @silver_s / silvers

•   ソーシャルアプリの開発

•   perl / mysql

•   HTML5 / CSS3 / UX

•   http://www.ofsilvers.com
やりたいこと


 ふつうのとき



 マウスが乗った
やりかた

•   やりかたはいろいろある
    •   画像を使う / 使わない


    •   画像を分ける / 分けない


    •   JSで切り替える / CSSで切り替える


    •   擬似クラスを使う / 使わない



•   組み合わせなので全部は紹介しない
ぼくの最強
ぼくの最強
HTML:
<a href=”#” class=”hoge”>link</a>
ぼくの最強
HTML:
<a href=”#” class=”hoge”>link</a>



CSS:
.hoge {
  display: block;
  width: 300px;
  height: 100px;
  background-color: #6d7472;
  color: #fff;
  -webkit-tap-highlight-
color:rgba(0,0,0,0);
}

.hoge.hover {
  background-color: #2e6ffd;
}
ぼくの最強
HTML:
<a href=”#” class=”hoge”>link</a>



CSS:                                javascript:
.hoge {                             $(‘a’)
  display: block;                     .on(‘touchstart’, function(){
  width: 300px;                          $(this).addClass(‘hover’);
  height: 100px;                      })
  background-color: #6d7472;          .on(‘touchend’, function(){
  color: #fff;                           $(this).removeClass(‘hover’);
  -webkit-tap-highlight-              });
color:rgba(0,0,0,0);
}

.hoge.hover {
  background-color: #2e6ffd;
}
ぼくの最強
HTML:
                                    1   img は使わない
<a href=”#” class=”hoge”>link</a>



CSS:                                    javascript:
.hoge {                                 $(‘a’)
  display: block;                         .on(‘touchstart’, function(){
  width: 300px;                              $(this).addClass(‘hover’);
  height: 100px;                          })
  background-color: #6d7472;              .on(‘touchend’, function(){
  color: #fff;                               $(this).removeClass(‘hover’);
  -webkit-tap-highlight-                  });
color:rgba(0,0,0,0);
}

.hoge.hover {
  background-color: #2e6ffd;
}
ぼくの最強
HTML:
                                    1   img は使わない
<a href=”#” class=”hoge”>link</a>



CSS:                                    javascript:
         2   背景画像は使わない
.hoge {                                 $(‘a’)
  display: block;                         .on(‘touchstart’, function(){
  width: 300px;                              $(this).addClass(‘hover’);
  height: 100px;                          })
  background-color: #6d7472;              .on(‘touchend’, function(){
  color: #fff;                               $(this).removeClass(‘hover’);
  -webkit-tap-highlight-                  });
color:rgba(0,0,0,0);
}

.hoge.hover {
  background-color: #2e6ffd;
}
ぼくの最強
HTML:
                                    1   img は使わない
<a href=”#” class=”hoge”>link</a>



CSS:                                    javascript:
         2   背景画像は使わない
.hoge {                                 $(‘a’)
  display: block;                         .on(‘touchstart’, function(){
  width: 300px;                              $(this).addClass(‘hover’);
  height: 100px;                          })
  background-color: #6d7472;              .on(‘touchend’, function(){
  color: #fff;                               $(this).removeClass(‘hover’);
  -webkit-tap-highlight-                  });
color:rgba(0,0,0,0);
}

.hoge.hover {
  background-color: #2e6ffd;
}
3   擬似クラスは使わない
ぼくの最強
HTML:
                                    1   img は使わない
<a href=”#” class=”hoge”>link</a>



CSS:                                    javascript:
         2   背景画像は使わない
.hoge {                                 $(‘a’)
  display: block;                         .on(‘touchstart’, function(){
  width: 300px;                              $(this).addClass(‘hover’);
  height: 100px;                          })
  background-color: #6d7472;              .on(‘touchend’, function(){
  color: #fff;                               $(this).removeClass(‘hover’);
  -webkit-tap-highlight-                  });
color:rgba(0,0,0,0);
}                                                                  4   jsでclass名をあてる

.hoge.hover {
  background-color: #2e6ffd;
}
3   擬似クラスは使わない
ぼくの最強
HTML:
                                    1   img は使わない
<a href=”#” class=”hoge”>link</a>



CSS:                                    javascript:
         2   背景画像は使わない
.hoge {                                 $(‘a’)
  display: block;                         .on(‘touchstart’, function(){
  width: 300px;                              $(this).addClass(‘hover’);
  height: 100px;                          })
  background-color: #6d7472;              .on(‘touchend’, function(){
  color: #fff;                               $(this).removeClass(‘hover’);
  -webkit-tap-highlight-                  });
color:rgba(0,0,0,0);
}                                                                  4   jsでclass名をあてる

.hoge.hover {

}
3
  background-color: #2e6ffd;

    擬似クラスは使わない
                                                                 なぜ? →
<img>を使うやりかた
<img>を使うやりかた

hoge_off.png


hoge_on.png
<img>を使うやりかた
               HTML:
               <a href=”#”><img src=”hoge_off.png” /></a>


hoge_off.png


hoge_on.png
<img>を使うやりかた
               HTML:
               <a href=”#”><img src=”hoge_off.png” /></a>


hoge_off.png   javascript:
               $(‘img’)
                 .on(‘touchstart’, function(){
                   $(this).attr(‘src’).replace(‘_off’, ‘_on’);
                 }).
hoge_on.png      .on(‘touchend’, function(){
                   $(this).attr(‘src’).replace(‘_on’, ‘_off’);
                 });
<img>を使うやりかた
                   HTML:
                   <a href=”#”><img src=”hoge_off.png” /></a>


    hoge_off.png   javascript:
                   $(‘img’)
                     .on(‘touchstart’, function(){
                       $(this).attr(‘src’).replace(‘_off’, ‘_on’);
                     }).
    hoge_on.png      .on(‘touchend’, function(){
                       $(this).attr(‘src’).replace(‘_on’, ‘_off’);
                     });




•   切り替えにjavascriptが必要

•   preloadしないと初回にチラつく
ぼくの最強
HTML:
                                    1   img は使わない
<a href=”#” class=”hoge”>link</a>



CSS:                                    javascript:
         2   背景画像は使わない
.hoge {                                 $(‘a’)
  display: block;                         .on(‘touchstart’, function(){
  width: 300px;                              $(this).addClass(‘hover’);
  height: 100px;                          })
  background-color: #6d7472;              .on(‘touchend’, function(){
  color: #fff;                               $(this).removeClass(‘hover’);
  -webkit-tap-highlight-                  });
color:rgba(0,0,0,0);
}                                                                  4   jsでclass名をあてる

.hoge.hover {

}
3
  background-color: #2e6ffd;

    擬似クラスは使わない
                                                                 なぜ? →
背景画像を使うやりかた
背景画像を使うやりかた


hoge.png

ひとつの画像
背景画像を使うやりかた
           HTML:
           <a href=”#” class=”hoge”>link</a>




hoge.png

ひとつの画像
背景画像を使うやりかた
           HTML:
           <a href=”#” class=”hoge”>link</a>


           CSS:
hoge.png   .hoge {
             display: block;
             width: 300px;
             height: 100px;
             background: url(‘hoge.png’) no-repeat 0 0;
ひとつの画像       text-indent: 100%;
             overflow: hidden;
           }
           .hoge:hover {
             background-position: 0 -100px;
           }
背景画像を使うやりかた
                HTML:
                <a href=”#” class=”hoge”>link</a>


                CSS:
     hoge.png   .hoge {
                  display: block;
                  width: 300px;
                  height: 100px;
                  background: url(‘hoge.png’) no-repeat 0 0;
    ひとつの画像        text-indent: 100%;
                  overflow: hidden;
                }
                .hoge:hover {
                  background-position: 0 -100px;
                }



•   いわゆる画像置換
画像置換

•   画像置換の方法はいろいろある

    •   display: none;

    •   text-indent: -99999px;

    •   z-index

    •   overflow: hidden;

•   でも最近のCSSはリッチなので画像なくてもそこそこできる
ぼくの最強
HTML:
                                    1   img は使わない
<a href=”#” class=”hoge”>link</a>



CSS:                                    javascript:
         2   背景画像は使わない
.hoge {                                 $(‘a’)
  display: block;                         .on(‘touchstart’, function(){
  width: 300px;                              $(this).addClass(‘hover’);
  height: 100px;                          })
  background-color: #6d7472;              .on(‘touchend’, function(){
  color: #fff;                               $(this).removeClass(‘hover’);
  -webkit-tap-highlight-                  });
color:rgba(0,0,0,0);
}                                                                  4   jsでclass名をあてる

.hoge.hover {

}
3
  background-color: #2e6ffd;

    擬似クラスは使わない
                                                                 なぜ? →
:hover


•   擬似クラス

•   スマホで何かがおかしい

•   指を話しても消えないとか

•   「戻る」とそのままとか
ぼくの最強
HTML:
                                    1   img は使わない
<a href=”#” class=”hoge”>link</a>



CSS:                                    javascript:
         2   背景画像は使わない
.hoge {                                 $(‘a’)
  display: block;                         .on(‘touchstart’, function(){
  width: 300px;                              $(this).addClass(‘hover’);
  height: 100px;                          })
  background-color: #6d7472;              .on(‘touchend’, function(){
  color: #fff;                               $(this).removeClass(‘hover’);
  -webkit-tap-highlight-                  });
color:rgba(0,0,0,0);
}                                                                  4   jsでclass名をあてる

.hoge.hover {

}
3
  background-color: #2e6ffd;

    擬似クラスは使わない
                                                                 なぜ? →
DEMO
おわり


•   今日あげたのは、一例で

•   もっと色々やり方はある

•   ので、いろいろ試してみてください

More Related Content

What's hot

jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
yoshikawa_t
 
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & TipsjQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tips
yoshikawa_t
 
React で CSS カプセル化の可能性を考える
React で CSS カプセル化の可能性を考えるReact で CSS カプセル化の可能性を考える
React で CSS カプセル化の可能性を考える
Yutaro Miyazaki
 
Creators'night#13 tech#2今井
Creators'night#13 tech#2今井Creators'night#13 tech#2今井
Creators'night#13 tech#2今井
Daisuke Imai
 
JavaScriptで『漫画カメラ』的画像加工
JavaScriptで『漫画カメラ』的画像加工JavaScriptで『漫画カメラ』的画像加工
JavaScriptで『漫画カメラ』的画像加工
Masayuki Maekawa
 
HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -
Toshio Ehara
 
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろうnico0927
 
マークアップ講座 02 CSS
マークアップ講座 02 CSSマークアップ講座 02 CSS
マークアップ講座 02 CSS
eiji sekiya
 
HTML5 on ASP.NET
HTML5 on ASP.NETHTML5 on ASP.NET
HTML5 on ASP.NET
Fujio Kojima
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
yoshikawa_t
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb APIYuko Toriyama
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210cmtomoda
 
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話Masami Yabushita
 
やはりお前らのMTMLは間違っている!
やはりお前らのMTMLは間違っている!やはりお前らのMTMLは間違っている!
やはりお前らのMTMLは間違っている!
純生 野田
 
MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013純生 野田
 
HTML5 と SVG で考える、これからの画像アクセシビリティ
HTML5 と SVG で考える、これからの画像アクセシビリティHTML5 と SVG で考える、これからの画像アクセシビリティ
HTML5 と SVG で考える、これからの画像アクセシビリティ
Naoki Matsuda
 
Inside Movable Type
Inside Movable TypeInside Movable Type
Inside Movable Type
純生 野田
 

What's hot (18)

jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報jQuery Mobile 1.3 最新情報
jQuery Mobile 1.3 最新情報
 
jQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & TipsjQuery Mobile 1.2 最新情報 & Tips
jQuery Mobile 1.2 最新情報 & Tips
 
MT meets PHP
MT meets PHPMT meets PHP
MT meets PHP
 
React で CSS カプセル化の可能性を考える
React で CSS カプセル化の可能性を考えるReact で CSS カプセル化の可能性を考える
React で CSS カプセル化の可能性を考える
 
Creators'night#13 tech#2今井
Creators'night#13 tech#2今井Creators'night#13 tech#2今井
Creators'night#13 tech#2今井
 
JavaScriptで『漫画カメラ』的画像加工
JavaScriptで『漫画カメラ』的画像加工JavaScriptで『漫画カメラ』的画像加工
JavaScriptで『漫画カメラ』的画像加工
 
HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -HTML5のCanvas入門 - Img画像を編集してみよう -
HTML5のCanvas入門 - Img画像を編集してみよう -
 
-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう-入門- enchant.js でゲームを作ろう
-入門- enchant.js でゲームを作ろう
 
マークアップ講座 02 CSS
マークアップ講座 02 CSSマークアップ講座 02 CSS
マークアップ講座 02 CSS
 
HTML5 on ASP.NET
HTML5 on ASP.NETHTML5 on ASP.NET
HTML5 on ASP.NET
 
jQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & TipsjQuery Mobile 最新情報 & Tips
jQuery Mobile 最新情報 & Tips
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb API
 
Jqm20120210
Jqm20120210Jqm20120210
Jqm20120210
 
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
バッテリー監視のためにバックグラウンドタスクについて調べたらなくなってたから泣く泣くタイマーApiを使ってみた話
 
やはりお前らのMTMLは間違っている!
やはりお前らのMTMLは間違っている!やはりお前らのMTMLは間違っている!
やはりお前らのMTMLは間違っている!
 
MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013
 
HTML5 と SVG で考える、これからの画像アクセシビリティ
HTML5 と SVG で考える、これからの画像アクセシビリティHTML5 と SVG で考える、これからの画像アクセシビリティ
HTML5 と SVG で考える、これからの画像アクセシビリティ
 
Inside Movable Type
Inside Movable TypeInside Movable Type
Inside Movable Type
 

Similar to ロールオーバーのいろいろなやり方

JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようHiroaki Wakamatsu
 
Hello css animation_public
Hello css animation_publicHello css animation_public
Hello css animation_public
Shinichiro Kumeuchi
 
Css3でキャラクターアニメーションに挑戦してみた
Css3でキャラクターアニメーションに挑戦してみたCss3でキャラクターアニメーションに挑戦してみた
Css3でキャラクターアニメーションに挑戦してみたShinichi Sato
 
ネストを覚えた人のためのSassの便利な使い方
ネストを覚えた人のためのSassの便利な使い方ネストを覚えた人のためのSassの便利な使い方
ネストを覚えた人のためのSassの便利な使い方
Hiroki Shibata
 
Arctic.js
Arctic.jsArctic.js
Arctic.js
chikathreesix
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
Hayato Mizuno
 
Sass
SassSass
SassSu Ga
 
Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0
Toshiro Shimizu
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころ
Ayumi Goto
 
AngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたいAngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたい
Yosuke Onoue
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
Nishida Kansuke
 
SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7
Naoki Matsuda
 
WordPressで制御するこれからのIoT
WordPressで制御するこれからのIoTWordPressで制御するこれからのIoT
WordPressで制御するこれからのIoT
Yuriko IKEDA
 
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3
Nishida Kansuke
 
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3
yaju88
 
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
Kazunari Hara
 
Css preprocessorの始めかた
Css preprocessorの始めかたCss preprocessorの始めかた
Css preprocessorの始めかた
Hiroki Shibata
 

Similar to ロールオーバーのいろいろなやり方 (20)

JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみようJavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
JavaScript + CSS3を活用して スマートフォンサイト/アプリに 動きを付けてみよう
 
Hello css animation_public
Hello css animation_publicHello css animation_public
Hello css animation_public
 
CSS3 Design Recipe
CSS3 Design RecipeCSS3 Design Recipe
CSS3 Design Recipe
 
Css3でキャラクターアニメーションに挑戦してみた
Css3でキャラクターアニメーションに挑戦してみたCss3でキャラクターアニメーションに挑戦してみた
Css3でキャラクターアニメーションに挑戦してみた
 
ネストを覚えた人のためのSassの便利な使い方
ネストを覚えた人のためのSassの便利な使い方ネストを覚えた人のためのSassの便利な使い方
ネストを覚えた人のためのSassの便利な使い方
 
Arctic.js
Arctic.jsArctic.js
Arctic.js
 
jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -jQuery Performance Tips – jQueryにおける高速化 -
jQuery Performance Tips – jQueryにおける高速化 -
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
Sass
SassSass
Sass
 
Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0
 
Angular js はまりどころ
Angular js はまりどころAngular js はまりどころ
Angular js はまりどころ
 
AngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたいAngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたい
 
⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2⑯jQueryをおぼえよう!その2
⑯jQueryをおぼえよう!その2
 
SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7SVG MANIAX - CSS Nite After dark7
SVG MANIAX - CSS Nite After dark7
 
WordPressで制御するこれからのIoT
WordPressで制御するこれからのIoTWordPressで制御するこれからのIoT
WordPressで制御するこれからのIoT
 
⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3⑰jQueryをおぼえよう!その3
⑰jQueryをおぼえよう!その3
 
静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3静岡Developers勉強会 HTML5&CSS3
静岡Developers勉強会 HTML5&CSS3
 
Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~Native x Webでいいとこどり開発 ~ピグトーク~
Native x Webでいいとこどり開発 ~ピグトーク~
 
Css preprocessorの始めかた
Css preprocessorの始めかたCss preprocessorの始めかた
Css preprocessorの始めかた
 

More from silvers ofsilvers

こんなチームにしたいなあ
こんなチームにしたいなあこんなチームにしたいなあ
こんなチームにしたいなあ
silvers ofsilvers
 
チームを作るワークショップ2015
チームを作るワークショップ2015チームを作るワークショップ2015
チームを作るワークショップ2015
silvers ofsilvers
 
Scrum Overview
Scrum OverviewScrum Overview
Scrum Overview
silvers ofsilvers
 
マイクロインタラクション読書会 4章
マイクロインタラクション読書会 4章マイクロインタラクション読書会 4章
マイクロインタラクション読書会 4章
silvers ofsilvers
 
2014年と私と11 bot
2014年と私と11 bot2014年と私と11 bot
2014年と私と11 bot
silvers ofsilvers
 
Adobe JSX入門
Adobe JSX入門Adobe JSX入門
Adobe JSX入門
silvers ofsilvers
 
angular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1clubangular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1club
silvers ofsilvers
 
2013年と私 - 買ってよかった2013 -
2013年と私 - 買ってよかった2013 -2013年と私 - 買ってよかった2013 -
2013年と私 - 買ってよかった2013 -
silvers ofsilvers
 
玉子屋のすすめ
玉子屋のすすめ玉子屋のすすめ
玉子屋のすすめ
silvers ofsilvers
 
2012年と私
2012年と私2012年と私
2012年と私
silvers ofsilvers
 
共有フォルダを汚くしないためにどうするか
共有フォルダを汚くしないためにどうするか共有フォルダを汚くしないためにどうするか
共有フォルダを汚くしないためにどうするか
silvers ofsilvers
 
ウェブフォントが楽しいよという話
ウェブフォントが楽しいよという話ウェブフォントが楽しいよという話
ウェブフォントが楽しいよという話silvers ofsilvers
 
DeNA Creative Seminar #2 に行ってきた
DeNA Creative Seminar #2 に行ってきたDeNA Creative Seminar #2 に行ってきた
DeNA Creative Seminar #2 に行ってきた
silvers ofsilvers
 

More from silvers ofsilvers (13)

こんなチームにしたいなあ
こんなチームにしたいなあこんなチームにしたいなあ
こんなチームにしたいなあ
 
チームを作るワークショップ2015
チームを作るワークショップ2015チームを作るワークショップ2015
チームを作るワークショップ2015
 
Scrum Overview
Scrum OverviewScrum Overview
Scrum Overview
 
マイクロインタラクション読書会 4章
マイクロインタラクション読書会 4章マイクロインタラクション読書会 4章
マイクロインタラクション読書会 4章
 
2014年と私と11 bot
2014年と私と11 bot2014年と私と11 bot
2014年と私と11 bot
 
Adobe JSX入門
Adobe JSX入門Adobe JSX入門
Adobe JSX入門
 
angular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1clubangular X designer - デザイナからみたAngularJS #ten1club
angular X designer - デザイナからみたAngularJS #ten1club
 
2013年と私 - 買ってよかった2013 -
2013年と私 - 買ってよかった2013 -2013年と私 - 買ってよかった2013 -
2013年と私 - 買ってよかった2013 -
 
玉子屋のすすめ
玉子屋のすすめ玉子屋のすすめ
玉子屋のすすめ
 
2012年と私
2012年と私2012年と私
2012年と私
 
共有フォルダを汚くしないためにどうするか
共有フォルダを汚くしないためにどうするか共有フォルダを汚くしないためにどうするか
共有フォルダを汚くしないためにどうするか
 
ウェブフォントが楽しいよという話
ウェブフォントが楽しいよという話ウェブフォントが楽しいよという話
ウェブフォントが楽しいよという話
 
DeNA Creative Seminar #2 に行ってきた
DeNA Creative Seminar #2 に行ってきたDeNA Creative Seminar #2 に行ってきた
DeNA Creative Seminar #2 に行ってきた
 

Recently uploaded

論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 

Recently uploaded (9)

論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 

ロールオーバーのいろいろなやり方

  • 3. 今日のテーマ jQueryでなんか タップすると ボタンのデザインが 変わるやつが知りたい
  • 4. 今日のテーマ jQueryでなんか タップすると ボタンのデザインが 変わるやつが知りたい いろんなやりかたあるよ!
  • 5. 自己紹介 • @silver_s / silvers • ソーシャルアプリの開発 • perl / mysql • HTML5 / CSS3 / UX • http://www.ofsilvers.com
  • 7. やりかた • やりかたはいろいろある • 画像を使う / 使わない • 画像を分ける / 分けない • JSで切り替える / CSSで切り替える • 擬似クラスを使う / 使わない • 組み合わせなので全部は紹介しない
  • 10. ぼくの最強 HTML: <a href=”#” class=”hoge”>link</a> CSS: .hoge { display: block; width: 300px; height: 100px; background-color: #6d7472; color: #fff; -webkit-tap-highlight- color:rgba(0,0,0,0); } .hoge.hover { background-color: #2e6ffd; }
  • 11. ぼくの最強 HTML: <a href=”#” class=”hoge”>link</a> CSS: javascript: .hoge { $(‘a’) display: block; .on(‘touchstart’, function(){ width: 300px; $(this).addClass(‘hover’); height: 100px; }) background-color: #6d7472; .on(‘touchend’, function(){ color: #fff; $(this).removeClass(‘hover’); -webkit-tap-highlight- }); color:rgba(0,0,0,0); } .hoge.hover { background-color: #2e6ffd; }
  • 12. ぼくの最強 HTML: 1 img は使わない <a href=”#” class=”hoge”>link</a> CSS: javascript: .hoge { $(‘a’) display: block; .on(‘touchstart’, function(){ width: 300px; $(this).addClass(‘hover’); height: 100px; }) background-color: #6d7472; .on(‘touchend’, function(){ color: #fff; $(this).removeClass(‘hover’); -webkit-tap-highlight- }); color:rgba(0,0,0,0); } .hoge.hover { background-color: #2e6ffd; }
  • 13. ぼくの最強 HTML: 1 img は使わない <a href=”#” class=”hoge”>link</a> CSS: javascript: 2 背景画像は使わない .hoge { $(‘a’) display: block; .on(‘touchstart’, function(){ width: 300px; $(this).addClass(‘hover’); height: 100px; }) background-color: #6d7472; .on(‘touchend’, function(){ color: #fff; $(this).removeClass(‘hover’); -webkit-tap-highlight- }); color:rgba(0,0,0,0); } .hoge.hover { background-color: #2e6ffd; }
  • 14. ぼくの最強 HTML: 1 img は使わない <a href=”#” class=”hoge”>link</a> CSS: javascript: 2 背景画像は使わない .hoge { $(‘a’) display: block; .on(‘touchstart’, function(){ width: 300px; $(this).addClass(‘hover’); height: 100px; }) background-color: #6d7472; .on(‘touchend’, function(){ color: #fff; $(this).removeClass(‘hover’); -webkit-tap-highlight- }); color:rgba(0,0,0,0); } .hoge.hover { background-color: #2e6ffd; } 3 擬似クラスは使わない
  • 15. ぼくの最強 HTML: 1 img は使わない <a href=”#” class=”hoge”>link</a> CSS: javascript: 2 背景画像は使わない .hoge { $(‘a’) display: block; .on(‘touchstart’, function(){ width: 300px; $(this).addClass(‘hover’); height: 100px; }) background-color: #6d7472; .on(‘touchend’, function(){ color: #fff; $(this).removeClass(‘hover’); -webkit-tap-highlight- }); color:rgba(0,0,0,0); } 4 jsでclass名をあてる .hoge.hover { background-color: #2e6ffd; } 3 擬似クラスは使わない
  • 16. ぼくの最強 HTML: 1 img は使わない <a href=”#” class=”hoge”>link</a> CSS: javascript: 2 背景画像は使わない .hoge { $(‘a’) display: block; .on(‘touchstart’, function(){ width: 300px; $(this).addClass(‘hover’); height: 100px; }) background-color: #6d7472; .on(‘touchend’, function(){ color: #fff; $(this).removeClass(‘hover’); -webkit-tap-highlight- }); color:rgba(0,0,0,0); } 4 jsでclass名をあてる .hoge.hover { } 3 background-color: #2e6ffd; 擬似クラスは使わない なぜ? →
  • 19. <img>を使うやりかた HTML: <a href=”#”><img src=”hoge_off.png” /></a> hoge_off.png hoge_on.png
  • 20. <img>を使うやりかた HTML: <a href=”#”><img src=”hoge_off.png” /></a> hoge_off.png javascript: $(‘img’) .on(‘touchstart’, function(){ $(this).attr(‘src’).replace(‘_off’, ‘_on’); }). hoge_on.png .on(‘touchend’, function(){ $(this).attr(‘src’).replace(‘_on’, ‘_off’); });
  • 21. <img>を使うやりかた HTML: <a href=”#”><img src=”hoge_off.png” /></a> hoge_off.png javascript: $(‘img’) .on(‘touchstart’, function(){ $(this).attr(‘src’).replace(‘_off’, ‘_on’); }). hoge_on.png .on(‘touchend’, function(){ $(this).attr(‘src’).replace(‘_on’, ‘_off’); }); • 切り替えにjavascriptが必要 • preloadしないと初回にチラつく
  • 22. ぼくの最強 HTML: 1 img は使わない <a href=”#” class=”hoge”>link</a> CSS: javascript: 2 背景画像は使わない .hoge { $(‘a’) display: block; .on(‘touchstart’, function(){ width: 300px; $(this).addClass(‘hover’); height: 100px; }) background-color: #6d7472; .on(‘touchend’, function(){ color: #fff; $(this).removeClass(‘hover’); -webkit-tap-highlight- }); color:rgba(0,0,0,0); } 4 jsでclass名をあてる .hoge.hover { } 3 background-color: #2e6ffd; 擬似クラスは使わない なぜ? →
  • 25. 背景画像を使うやりかた HTML: <a href=”#” class=”hoge”>link</a> hoge.png ひとつの画像
  • 26. 背景画像を使うやりかた HTML: <a href=”#” class=”hoge”>link</a> CSS: hoge.png .hoge { display: block; width: 300px; height: 100px; background: url(‘hoge.png’) no-repeat 0 0; ひとつの画像 text-indent: 100%; overflow: hidden; } .hoge:hover { background-position: 0 -100px; }
  • 27. 背景画像を使うやりかた HTML: <a href=”#” class=”hoge”>link</a> CSS: hoge.png .hoge { display: block; width: 300px; height: 100px; background: url(‘hoge.png’) no-repeat 0 0; ひとつの画像 text-indent: 100%; overflow: hidden; } .hoge:hover { background-position: 0 -100px; } • いわゆる画像置換
  • 28. 画像置換 • 画像置換の方法はいろいろある • display: none; • text-indent: -99999px; • z-index • overflow: hidden; • でも最近のCSSはリッチなので画像なくてもそこそこできる
  • 29. ぼくの最強 HTML: 1 img は使わない <a href=”#” class=”hoge”>link</a> CSS: javascript: 2 背景画像は使わない .hoge { $(‘a’) display: block; .on(‘touchstart’, function(){ width: 300px; $(this).addClass(‘hover’); height: 100px; }) background-color: #6d7472; .on(‘touchend’, function(){ color: #fff; $(this).removeClass(‘hover’); -webkit-tap-highlight- }); color:rgba(0,0,0,0); } 4 jsでclass名をあてる .hoge.hover { } 3 background-color: #2e6ffd; 擬似クラスは使わない なぜ? →
  • 30. :hover • 擬似クラス • スマホで何かがおかしい • 指を話しても消えないとか • 「戻る」とそのままとか
  • 31. ぼくの最強 HTML: 1 img は使わない <a href=”#” class=”hoge”>link</a> CSS: javascript: 2 背景画像は使わない .hoge { $(‘a’) display: block; .on(‘touchstart’, function(){ width: 300px; $(this).addClass(‘hover’); height: 100px; }) background-color: #6d7472; .on(‘touchend’, function(){ color: #fff; $(this).removeClass(‘hover’); -webkit-tap-highlight- }); color:rgba(0,0,0,0); } 4 jsでclass名をあてる .hoge.hover { } 3 background-color: #2e6ffd; 擬似クラスは使わない なぜ? →
  • 32. DEMO
  • 33. おわり • 今日あげたのは、一例で • もっと色々やり方はある • ので、いろいろ試してみてください