11月 2nd, 2011
Posted in その他 | コメントは受け付けていません。
10月 11th, 2011
history apiのさわり
twitterとかでみるハッシュフラグメントURL(?)のやつ
とりあえずやってみた
html
<div id="content">index page
</div>
<div id="main">
<p><a href="#!/guide" title="guide">guide
</a></p>
<p><a href="#!/company" title="company">company
</a></p>
<p><a href="#!/products" title="products">products
</a></p>
<p><a href="#!/news" title="news">news
</a></p>
<p><a href="#!/contact" title="contact">contact
</a></p>
<p><a href="#!/member" title="member">member
</a></p>
<p><a href="#!/privacy" title="privacy">privacy
</a></p>
</div>
JavaScript
window.onload = function(){
var m = document.getElementById("main");
var d = document.getElementById("content");
addEvent(window,"popstate",changeContent);
function changeContent(){
switch(location.hash.split('#!/')[1])
{
case "guide":
setElement(d,"ガイド");
break;
case "company":
setElement(d,'会社');
break;
case "products":
setElement(d,'製品');
break;
case "news":
setElement(d,'ニュース');
break;
case "contact":
setElement(d,'お問い合わせ');
break;
case "member":
setElement(d,'メンバー');
break;
case "privacy":
setElement(d,'プライバシー');
break;
default:
setElement(d,'HISTORY API TEST');
break;
}
}
}
function setElement(target,arg){
document.title = arg;
target.innerHTML = arg;
}
/**********************************************************
* クロスドメイン用イベントリスナ登録関数
* @param {String} target ターゲットエレメント
* @param {String} name イベントタイプ
* @param {String} fn 登録するイベント
***********************************************************/
function addEvent(target,type,fn){
if(window.addEventListener){
addEvent = function(target,type,fn){
target.addEventListener(type,fn,false);
}
}else{
addEvent = function(target,type,fn){
target.attachEvent('on' + type, fn);
}
}
addEvent(target,type,fn);
}
でとりあえずタイトル部分も変更できてる
はハッシュ値変更した場合に発火するのです。
登録したイベント内でハッシュ値から表示するエレメントだったりをわけたらいいんじゃないって感じで。
IEでうんともすんともならん…
IEのために
//IE用
if(navigator.userAgent.match(/MSIE/)){
changeContent();
var a = m.getElementsByTagName("a");
for(var i = 0;i < a.length;i++){
addEvent(a[i],"click",clickContent);
}
}
function clickContent(evt){
var arr = evt.srcElement.href.split('/');
location.hash = '!/' + arr[arr.length - 1];
changeContent();
}
を追加して対応したらでけた
サンプル
Posted in html5, JS | コメントは受け付けていません。
9月 19th, 2011
購入時の商品ごとの送料加算のカスタムは
SC_CartSession.php 内 calculateメソッドでカスタム出来る。
厳密に言えばcalculateをSC_CartSession_EX.phpにコピペして使用する。
// 商品ごとの送料を加算
if (OPTION_PRODUCT_DELIV_FEE == 1) {
$cartItems = $this->getCartList($productTypeId);
$max_fee = 0;
$count = 0;
foreach ($cartItems as $item) {
if($max_fee < $item['productsClass']['deliv_fee']){
$count = $item['quantity'];
$max_fee = $item['productsClass']['deliv_fee'];
$results['deliv_fee'] = $item['productsClass']['deliv_fee'] * $item['quantity'];
}else if($max_fee == $item['productsClass']['deliv_fee']){
$count += $item['quantity'];
$results['deliv_fee'] = $max_fee * $count;
}
#$results['deliv_fee'] += $item['productsClass']['deliv_fee'] * $item['quantity']; //デフォの部分
}
}
どんな計算かというと、送料が高いものが優先され、送料の安いものは送料の高いものに吸収される
かつ、送料が高いものは個数分加算される。
とした場合、AとBを1つずつ購入した場合、送料が高い方のAにBが吸収されるので、合計送料は2000円
Aを3つ、Bを5つ購入した場合は、送料の高い個数分加算するので、合計送料は6000円、となる。
ざっとしたメモ
Posted in WEB | コメントは受け付けていません。
8月 24th, 2011
Posted in JS | コメントは受け付けていません。
8月 11th, 2011
JSでブラウザ毎に解釈が違うっていうことで、
悩んでました
jQueryのscrollTopで現在地のyを知りたいだけなのに、
クソ面倒だったので、メモしておく。
自作モーダルを作ってて、ほんと、いやになっちゃくくらい分岐が激しいのです。
// Determine the browser
if(navigator.userAgent.indexOf("MSIE") != -1){
// IE
if (typeof document.body.style.maxHeight != "undefined") {
// IE7, IE8 more
if(document.documentMode >=8){
// IE8 more
var top = $("html");
}else{
// IE7
var top = $("html,body");
}
} else {
// IE6
var top = $("html");
}
}else if(navigator.userAgent.indexOf("Safari") != -1){
// safari, chrome
var top = $("body");
}else if(navigator.userAgent.indexOf("Firefox") != -1){
// firefox
var top = $("html");
}else if(navigator.userAgent.indexOf("Opera") != -1){
//opera
var top = $("html");
}else{
var top = $("html");
}
はぁ、ねぇ、IEだけでも、結構たいへんでしたー。
Posted in JS | コメントは受け付けていません。
7月 28th, 2011
超個人的メモ
商品詳細ページ(products/detail.tpl)
require_once '../require.php';
require_once CLASS_EX_REALDIR
. 'SC_Query_Ex.php';
//CATEGORY取得
$c_que = new SC_Query_Ex
();
$cate_que = $c_que->select("category_id","dtb_product_categories",'product_id='.mb_substr($_SERVER["QUERY_STRING"],11));
$cate_id = $cate_que[0]["category_id"];
でカテゴリIDが取得できた。
select(“カラム”, “テーブル”, where文) だわさ。
まぁ、クラスのソースを見てもらったほうがわかりやすいけど。
2011.7.28追記
<!--{$arrRelativeCat[0][0].category_id}-->
でカテゴリーID取れるわ。。。
トップページ(index.tpl)に登録商品を
require_once './require.php';
require_once CLASS_EX_REALDIR
. 'SC_Product_Ex.php';
require_once CLASS_EX_REALDIR
. 'SC_Query_Ex.php';
//CATEGORY
$c_que = new SC_Query_Ex
();
$cate_que = $c_que->select("product_id,category_id","dtb_product_categories");
//ALL ITEMS
$prod = new SC_Product_Ex
();
$prod->setProductsOrder("product_id");
$lists = array();
foreach($cate_que as $list){
$lists[] = $prod->getDetail($list["product_id"]);
}
で $lists に商品データをぶっ込める。
SC_Product と SC_Query は便利っぽい。
Posted in WEB | コメントは受け付けていません。
6月 20th, 2011
Tweenerのサンプルっていうか、アレ作りました。
先日のひよこの会に参加してきました。
僕も発表しました。レアです。アレですけどレアです。
発表っていうか、まぁ、作ったんですよ。
Tweenerのtransitionってたくさん(41種類)あるけど、どんなもんだ!?って思うわけです。
よく使うやつから、全然興味がわかないやつ
Tweenerのドキュメントで全部どんなもんか見れるんですが、ぶっちゃけ、想像しにくいなぁって。
もっと視覚的にわかりやすいサンプルってナカナカなくて、そうやったら自分で作ってみたらどうだろう。
で、作ったのが下記のやつ
Tweener Transition
this content needs adobe flash player.
僕の中で「大きさ」「移動」「回る」ってのが、よく使うもんじゃないかなぁと、3つの動きをご用意。
「change tween」ボタンでトゥイーンを切り替えて「transition」でトゥイーン(変な日本語ですいません)
各ブロックに数字が3つあるのは「scale」「x」「rotation」です。
これでもまだわかりにくいなぁ
「Back」とか「Cubic」とかが10種あって、それぞれに「easeIn」とか「easeOut」やらが4種ある
それを踏まえて、並べてみたのが下記リンクにあります(デカイのでブログに貼れなかった。。。。)
Tweener Transition
少しでもTweenerのTransitionにどんなものがあるのか、というのでお困りの方にとって役に立てたら幸いです。
これをみて色々言いたいことがあるかもしれませんが、お手柔らかに。。。
※森さん(@ymori_tw)からの宿題(クリックしてそのtransitionのコードをクリップボードにコピーしてはどう?)はまだ出来ておりませんが、近いうちにやります。
その他のレポートはにゃあプロジェクトに上がってきてるようなので、そちらも是非!
Posted in flash | コメントは受け付けていません。
6月 1st, 2011
デフォルト表示
背景:明るい / フォロワー数:いいえ
背景:暗い / フォロワー数:いいえ
背景:明るい / フォロワー数:はい
背景:暗い / フォロワー数:はい
テキスト部分(◯◯フォロワー)は白文字なんで、背景色が白なら見えん
——————————-
カスタムできる部分
文字色 data-text-color=”#FF0000″
リンク data-link-color=”#0000FF”
CSSのように省略(#F00等)は不可
aタグで挟むテキストは何を入れても(◯◯フォロワー)になる
元テキストに「つまんないかもしれんけどgainaをフォローしちゃって」と記入したけど、書き換えられてる
Posted in WEB | コメントは受け付けていません。
4月 20th, 2011

なんの因果(?)か、Facebookページを作ってみた。
nagaiさん
アプリ入れてiframeでなんじゃかんじゃして、
ユニークページの作成に成功。
使用したアプリは「Adcode Apps スタティックタブ」なるもの。
ほえー
ちょっと楽しかった。
Posted in WEB | コメントは受け付けていません。
12月 16th, 2010
adobeのリファレンスみたら一発だった。
何でそんなことにも気がつかなかったのか。。。
1、flv・f4vの総時間
まずはNetConnectionをnewして
var _nc:NetConnection = new NetConnection();
_nc.addEventListener(NetStatusEvent.NET_STATUS, ConnectCheck);
_nc.connect(null);
NetStatusEvent.NET_STATUSをリッスンリッスン。
でコネクトに成功していたらっていうのは、
private function ConnectCheck(e:NetStatusEvent):void {
if (e.info.code == "NetConnection.Connect.Success") {
var _ns:NetStream = new NetStream(_nc);
_ns.client = {} ;//new Object()でも可
_video.attachNetStream(_ns);
_ns.play("path");
}
}
みたいな。
_videoはコストラクタでnewしてaddChildしているものとして下さいな。
で、肝心の「総時間」は、
にぶち込む用(?)のonMetaDataっていうコールバックがあるってさー。
function getMetaData():Object {
var _obj:Object = {};
_obj.onMetaData = function(meta:*):void {
totaltime = meta.duration;
};
return _obj;
}
っていうことで、durationが総時間になります。
_ns.client = getMetaData();
って呼んであげて下さい。
2、現在の再生位置(時間)
は、
です。
はい。
3、音量
は、volumeプロパティがないので、わざわざSoundTransformを生成して、あてます。
var _st:SoundTransForm = new SoundTransform(音量, パン);
_ns.soundTransform = _st;
という具合に。
スライダーか何かで制御したい場合は、
_st.volume = 0.5; //0 - 1 の間ですわ。
_ns.soundTransform = _st;
と、volumeに値を代入した後は、NetStreamインスタンスのsoundTransformに再度代入してください。
忘れがちな私のメモでございやした。
Posted in flash | コメントは受け付けていません。