OS X Lionã½ãã¹ã¯ãã¼ã«ãã¼ãå®è£ ã§ãã¦iOSã«ã対å¿ãã Skroll.js
åç¥ãããªããã§ã¹ã¯ãã¼ã«ãã¼ä½ãã¾ããã
ä¸å¿ç®æãã¦ããã¨ããã¯ãPCãã¼ã¹ã®ãµã¤ããä½ã£ãã¨ãã«iOSã§è¦ã¦ãã¹ã¯ãã¼ã«ãã¼å®è£ ããã¨ãããæãã«ãªããï¼ã£ã¦ããã®ã§ãã
PCã§Lionã½ãã¹ã¯ãã¼ã«ãã¼ä½ããããªã¨æã£ã¦ä¼ç¤¾ã®å宿ä¸ã«å§ããã®ã§ããã©ããªãããã¤ã®éã«ãiOSã«ã対å¿ãããã¨ã«ãªã£ã¦ã¦ãåãã«ãã ããå§ãããåéã¤ããªããªã£ã¦ãã¡ããã¡ãæéãããã¾ããã»ã»ã»
対象ãã¼ã¸ã§ã³ã¯ããç¨åº¦çµã£ã¦ãããã§ããã©ãçµæ§ç´å¾ããåãã«ã§ããããªã¼ã¨æãã¾ããåãã¯ã¨ããããPCã¨iOSï¼4.2以ä¸ï¼ã§è¦ã¦ãã ããã
ã¿ã¤ãã«ã«ãªãã§ããã©ãããã¯jQueryãã©ã°ã¤ã³ã¨ãã¦åä½ãã¾ãï¼jQuery mobileã¯å¿ è¦ãªãã§ãï¼ãèªåã§ä½¿ãæ©ä¼ãå¤ããã°jQueryå¤ãã¦iOSã«ç¹åãã¦ãããããªã¨ãããããããªãªã®ã§ããã使ã人ãããã°ãã£ã¼ãããã¯ãã ããã
iOSç¨ã®ã¹ã¯ãã¼ã©ã¼ã©ã¤ãã©ãªã§iScrollã¨ãScrollabilityãããã®ã§ãã
ã¨ããããiScrollã¨ãã¨ã®éãã
- PCãã¼ã¹ã§å¯¾å¿ï¼iOSã¯ãµãæ±ããååãããiOSã®ã³ã¼ãã ãã©
- PCã¨iOSã§ã¯åä½ãéãããããã使ããããããã«æé©å
ãµã³ãã«
- PCãã©ã¦ã¶ã¨iOSã§åä½ãéãã¾ã
- refreshã¡ã½ããã®ãµã³ãã« â iOSåãã«ãããããããããã¿ã®åºå®
äºã¤ç®ã®ãµã³ãã«ã¯ã¦ã£ã³ãã¦ã®å¹ ãå¤ãã¦ã¿ã¦ãã ãããrefresh()ã¡ã½ããã使ããã¨ã§ãã¹ã¯ãã¼ã«ãã¼ã®é·ããã³ã³ãã³ãã®å¹ ãå¤ããã®ã«åããã¦å¤ããã¾ã
ãã¦ã³ãã¼ã
Githubãã
使ãæ¹
jQueryã¨skroll.jsãèªã¿è¾¼ãã§å®è¡ããã ãã§ããå®è¡ãã対象ã¯ãã¤ãoverflow: auto;ã«ãã¦ãè¦ç´ ã§ããautoã«ãã¦ããã¦ãskroll()ã¡ã½ãããå®è¡ããã°ã¹ã¯ãã¼ã«ãã¼ãç½®ãæããã¾ãããã®ã¨ãwidthã®æå®ãããå ´åã¯ï¼auto以å¤ã®å ´åï¼ãªãã·ã§ã³ã§widthããã¦ãã ããã
â» ã¹ã¯ãã¼ã«ãã¼ã¯ç¸¦ã®ã¹ã¯ãã¼ã«ãã¼ããå®è£ ã§ãã¾ããã
ãªãã·ã§ã³
ãã¾ãå½¹ã«ç«ããªããªãã·ã§ã³ãå¤ãããã»ã»ã»
ãããã㣠| ããã©ã«ã |
---|---|
margin | 0 å ã®è¦ç´ ã®marginãããå ´åã¯æå®ãã¦ãã |
width | ç½®ãæããå¾ã®ã³ã³ãã³ãå¹ ãå ã®å¹ ã¨åã |
height | ç½®ãæããå¾ã®ã³ã³ãã³ãé«ãå ã®é«ãã¨åã |
inSpeed | 50 ã¹ã¯ãã¼ã«ãã¼ã表示ãããé度 |
outSpeed | 200 ã¹ã¯ãã¼ã«ãã¼ãé表示ã«ãªãé度 |
delayTime | 200 æåã«è¡¨ç¤ºããã¦æ¶ããã¾ã§ã®é度 |
scrollBarWidth | 6 ã¹ã¯ãã¼ã«ãã¼ã®å¹ |
scrollBarSpace | 3 ã¹ã¯ãã¼ã«ãã¼ã¨ã³ã³ãã³ãã®ã¹ãã¼ã¹ |
scrollBarColor | â#000â³ ã¹ã¯ãã¼ã«ãã¼ã®è² |
scrollBarZIndex | 100 ã¹ã¯ãã¼ã«ãã¼ã®zIndex |
opacity | 0.5 ã¹ã¯ãã¼ã«ãã¼ã®éæ度 |
scrollBarBg | false ã¹ã¯ãã¼ã«ãã¼ã®èæ¯ã表示ãã |
scrollBarBgColor | â#666â³ ã¹ã¯ãã¼ã«ãã¼èæ¯ã®è² |
scrollBarBgOpacity | 0.5 ã¹ã¯ãã¼ã«ãã¼èæ¯ã®éæ度 |
scrollBarGrowth | â0 0 2px #fffâ ã¹ã¯ãã¼ã«ãã¼ã®boxShadow |
cursor.grab | ã¹ã¯ãã¼ã«ãã¼ã®ã«ã¼ã½ã«ï¼ã®ããã¨ããæã®ã¢ã¤ã³ã³ï¼PC |
cursor.grabbing | ã¹ã¯ãã¼ã«ãã¼ã®ã«ã¼ã½ã«ï¼æ´ãã ã¨ããæ´ãã æã®ã¢ã¤ã³ã³ï¼PC |
scrollCancel | 80 ã¹ã¯ãã¼ã«ããã£ã³ã»ã«ããã¾ã§ã®æéï¼iOS |
cubicBezier | ââcubic-bezier(0.20,0.71,0.30,0.87)â ãã¦ã³ã¹ä»¥å¤ã®easingï¼iOS |
cubicBezierBounce | âcubic-bezier(0.11,0.74,0.15,0.80)â ãã¦ã³ã¹æã®easingï¼iOS |
cubicBezierBar | âcubic-bazier(0.42,0,1,1)â ã¹ã¯ãã¼ã«ãã¼ã®easing |
scrollBarHide | true ã¹ã¯ãã¼ã«ãã¼ãèªåçã«é表示ã«ãããã©ãã |
ã¡ã½ãã
ã¡ã½ãããå©ç¨ããå ´åã¯ãjQueryãªãã¸ã§ã¯ãã«å¯¾ãã¦skroll()ãå®è¡ããã«ãjQuery.skroll()ãå®è¡ãã¾ãã
ã¡ã½ããå | 説æ |
---|---|
refresh | ã¹ã¯ãã¼ã«ãã¼é åãåæç»ãã |
var skroll = $.skroll("div.body", { scrollBarBg: true }); // è¦ç´ ããªãã·ã§ã³ã®é skroll.refresh(); // ä»»æã®ã¿ã¤ãã³ã°ã§
iOSã®å¯¾å¿ãã¼ã¸ã§ã³ã«ã¤ãã¦
æå ã®iOS4.3ï¼iPad2, iPhone4ï¼ããè¦ã¦ã¾ãããã©ã¡ããæ®éã«ä½¿ãåã«ã¯åé¡ãªãã§ãã
CPUãããã¯GPUãéåãªiPhone3Gã3GSã§ã¯CSS3 Transitionsã綺éºã«åä½ããªãå¯è½æ§ãããã¾ããTransitionsã«ã¯GPUãã¼ãã¦ã§ã¢ã¢ã¯ã»ã©ã¬ã¼ã¿ãå©ç¨ãã¦ããããããã®é¨åã§æ»²ãã ããã¤ã±ããããããããã¾ããã
ã¨ããããã§
ä½ãããã°Githubãããã©ã¼ã¯ãã¦ãã ããï¼
Leave a comment
Trackbacks: 1
- Trackback URL for this entry
- Listed below are links to weblogs that reference
- OS X Lionã½ãã¹ã¯ãã¼ã«ãã¼ãå®è£ ã§ãã¦iOSã«ã対å¿ãã Skroll.js from 5509
-
pingback from iPhoneãiPadã§ã®overflow:scroll/autoã®åä½ã«ã¤ã㦠| SUSH-i LOG [...] https://5509.me/log/skroll [...]
Comments: 12 - Leave a comment
ãã¶ã¤ã³ãå´©ããã¨ç¡ãã¹ã¯ãã¼ã«ãå®ç¾ã§ããã®ã§å¤§å¤éå®ããã¦ããã ãã¦ããã¾ãã
jQuery 1.7.2ã§ã¯åããªãããã§ããã対å¿äºå®ã¯ããã¾ãã§ããããï¼
.bind(MOUSEWHEEL, function(e) {
e = e || window.event;
if(!e.detail && !e.wheelDelta){e = e.originalEvent;}ãâ追å
ããã§PCã§ãåãã¾ããã
(jquery 1.7.2)
åä¸ãã¼ã¸å ã«è¤æ°è¨ç½®ãããã®ã§ãããï¼ã¤ãã¹ã¯ãã¼ã«ããã¨ãããï¼ã¤ãé£åãã¦ãããã¦ãã¾ãã¾ãã
ã©ãè¨è¿°ããã°ããã§ããããï¼
ã¹ã¯ãã¼ã«ã¤ãã³ãã« bind ã¯ã§ããªãã§ããã
ãããã«åºæ¥ãã»ãã便å©ããã§ããã¼ã
ãã ãããã½ã¼ã¹ã³ã¼ããæ¸ããªããããã¬ãã«ãªã®ã§
ã¢ãããã¼ãã¯å½åã§ããªãã¨æãã¾ããã
ãã¿ã¾ãããã¡ãã£ã¨ãããºã¤ã¦ãã¾ã£ãã®ã§ã質åããã¦ãã ããã
$.skrollã§è¦ç´ ãæå®ãã¾ãããæå®ããè¦ç´ ã¯ã¹ã¯ãã¼ã«å¤å®ã¯ã§ããªããªãã¾ããï¼
ã¡ããã©ãrefreshã¡ã½ããã®ãµã³ãã«ãã®div class=âbodyâé¨åãã
$(âdiv.bodyâ).scroll(function(){
alert(âaâ);
});
ã¨ãèãã¦ããã®ã§ããâ¦ãããããããããã¾ãã
jquery mobileã¨ä½µç¨ããã¨ã¹ã¯ãã¼ã«ãã¼ã表示ããã¾ããã
jquery.mobile.css
ã¨è¡çªãã¦ããã®ã ã¨æãã¾ãããããjavascriptã®è¡çªåé¡ããã®æãã®æã§è§£æ¶ããã¦ããä»ãä»åº¦ã¯cssã®ã¶ã¤ãããå¢ãã¦ãã¾ããããã
ããã§ããã¼jQuery mobileã¯å人çã«ä½¿ããªãã®ã§æªæ¤è¨¼ã§ããããã
ããããclassåãã¹ãã¬ã¼ããããã®ã§å¤ãã¦ã¿ã¾ãã
github ã®ãµã³ãã« index.html ãã«ã¹ã¿ãã¤ãºãã¦å®éã«ä½¿ãã¨ãã¨åãç¶æ³ã®æ¤è¨¼ããã¦ã¿ãã¹ã¯ãªããã®é¨åã§ãã
var skroll = $.skroll(âdiv.txtâ, {
margin: â2em auto 0â³,
width: 300,
scrollBarSpace: 0,
scrollBarBg: true
});
$(â#btnâ).click(function(){
$(â.txtâ).append( $(â.txtâ).html() );
skroll.refresh();
});
ããã 㨠scrollOuter ã®é«ãã æ´æ°ããã³ã³ãã³ãã®é«ãã«ãªã£ã¦ãã¾ãããã§ãã ã©ãããééã£ã¦ããã®ã§ããããï¼
ãªãã·ã§ã³ã«heightãæå®ãã¦ã¿ã¦ãã ãã§ããããï¼ï¼
ä»ã«ãã«ã¹ã¿ã ã¹ã¯ãã¼ã«ãã¼ã¯ããããã§ãããä¸çªã«ãã³ã¤ã¤ã¨æã£ãã®ã§ä½¿ããã¦ããã£ã¦ãã¾ãï¼
å®é使ã£ã¦ã¿ã¦å¤§å¤ç°¡åã«å®è£ ãã§ãã¦å©ãã£ã¦ããã®ã§ãããAjaxãªã©ã§ã¹ã¯ãã¼ã«å¯¾è±¡ã®ã³ã³ãã³ãã®é«ããå¤ãã£ãã¨ãã«ã¹ã¯ãã¼ã«ãã¼ãå¤ãã£ãã³ã³ãã³ãã¨é£åãããã«ã¯ã©ããã£ããããã®ã§ããããï¼
ã½ã¼ã¹ãèªãã§ã¿ãã®ã§ããåä¸è¶³ãªãã解決ã§ãã¾ããã§ãããã
ãææ°ã§ãã ãããããé¡ããã¾ãã
ãã£ãã¡ããã©è¨äºãæ´æ°ããã¨ãããªã®ã§ãããreresh()ã¡ã½ããã使ãã¨ã¹ã¯ãã¼ã«ã³ã³ãã³ããæ´æ°ã§ãã¾ãã
å®è¡æ¹æ³ãå°ãå¤ããã®ã§ãã
ã®ããã«Ajaxèªã¿è¾¼ã¿ã¨æç»ãçµãã£ããã¨ã«refresh()ã¡ã½ãããå®è¡ãã¦ã¿ã¦ãã ãã
ç´ æ©ããè¿äºãããã¨ããããã¾ãã
æ©é 試ãã¦ã¿ã¾ãï¼