| |
HTML и Javascript
Swipe для Windows Phone
<head>
<?php
if ($num < $cnt){
$next="\"?$phref&cnt=$cnt&num=$snum\"";
print "<link rel=\"next\" href=$next>";
print "<link rel=\"prerender\" href=$next>";
...
}
?>
</head>
|
Swipe для Android
<head>
<?php
if ($num < $cnt){
...
print "<script language=\"JavaScript\" type=\"text/javascript\"
src=swipe.js></script>
<script language=\"JavaScript\" type=\"text/javascript\">
next=$next
</script>\n";
}
?>
</head>
|
swipe.js
var sx,sy,x,y,swiping,next;
next='';
document.addEventListener('touchstart', function(event){
if (event.touches.length == 1) {
swiping = true;
sx = event.changedTouches[0].pageX - window.pageXOffset;
sy = event.changedTouches[0].pageY;
} else {
swiping=false;
}});
document.addEventListener('touchend', function(event){
if (swiping && next) {
x=event.changedTouches[0].pageX - sx - window.pageXOffset;
y=Math.abs(event.changedTouches[0].pageY-sy);
if (x < -250 && -x > y) {
window.location.assign(next);
}}});
|
Оптимизация отображения
Растягивание на весь экран, сдвиг вверх на высоту названия и
отображение кнопок навигации в зависимости от пропорций экрана и фотографии
<script language="JavaScript" type="text/javascript">
var hi,wi,we,ht;
function img_height() {
hb=document.body.clientHeight-10;
wb=document.body.clientWidth-20;
if (hi / hb > wi / wb) {
img_photo.height=hb;
img_photo.width=wi * hb / hi;
navi_right.hidden=false;
navi_bottom.hidden=true;
} else {
img_photo.width=wb;
img_photo.height=hi * wb / wi;
navi_right.hidden=true;
navi_bottom.hidden=false;
}
if (head_td.clientWidth > wb) {
if (img_photo.width + we < wb)
img_td.width=wb-we;
else img_td.width=1;
} else img_td.width='100%';
window.scrollTo(0,ht);
}
function orientation_init() {
hi=img_photo.clientHeight;
wi=img_photo.clientWidth;
we=exif_td.clientWidth;
ht=img_td.offsetTop+5;
window.addEventListener('resize',img_height);
img_height();
}
</script>
|
|
|