2011/05/25

[DEBUG]jquery drop down menu hover後快速閃動

http://www.queness.com/resources/html/dropdownmenu/index.html

做DROP DOWN MENU 時, 用左JQUERY的 SLIDEUP同 SLIDEDOWN 來用作ANIMATION , 好似以上網址中的DEMO 咁

$('#nav li').hover(
function () {
//show its submenu
$('ul', this).slideDown(100);

},
function () {
//hide its submenu
$('ul', this).slideUp(100);
}
);
但發現到一個BUG, 就係當你好快咁mouseenter , 再好快咁mouseleave 個submenu, bug就產生了, 竟然見到個sub menu 不斷咁出現→消失→出現→消失...

最後發覺, 係個animation 問題, 當你移出/移入pointer既時候, slidedown animation 未完成又開始做slideup animation, 就會loop死左

解決方法原來好簡單, 就是在開始ANIMATION前STOP左去先

$('#nav li').hover(
function () {
//show its submenu
$('ul', this).stop(true, true).slideDown(100);

},
function () {
//hide its submenu
$('ul', this).stop(true, true).slideUp(100);
}
);

完成!

2011/05/20

jquery 改iframe content

有時逼不得已要用到iframe, 而iframe 入要的內容又想改wo
咁點做好呢?

以下方法只適用於same domain, protocol and port~!

//HTML
<iframe src="" frameborder="0" scrolling="no" id="iframe1" />

//JS
//找出header然後remove
$("#iframe1").attr('src', 'someURL');

$('#iframe1').live('load', function (){
    $("#iframe1").contents().find("div.header").remove();
});

[ mysql ] Convert timestamp to date

SELECT FROM_UNIXTIME


mysql> SELECT FROM_UNIXTIME(1196440219)

-> '2007-11-30 10:30:19'

2011/05/19

scrolling at android

寫完個webapp 發覺在日android 上scroll 得好差, 好窒
逐個factor 試下有冇關係la
唔關圖事
唔關layer 事
唔關gradient 事
!!! 原來係關box-shadow 事

一加左真係好似scroll 唔到咁
但只限android browser, ios ok~~

ps: 我only 試了android2.2的機~

2011/05/02

[PHP] convert Object to Array

測試webservice發現回傳回來的值為Object,如下:
[schema] => stdClass Object
        (
            [element] => stdClass Object
                (
                    [complexType] => stdClass Object
                        (
                            [choice] => stdClass Object
                                (
                                    [element] => stdClass Object
                                        (
                                            [complexType] => stdClass Object
                                                (
                                                    [sequence] => Array
                                                        (
                                                            [a] => 0
                                                            [b] => 1
                                                            => 2
                                                            [d] => 3
                                                            [e] => 4                                                            
                                                        )

                                                )
                                        )
                                )
                        )
                )
        )
我一時之間也不知道要如何是好,上傳搜尋一下,發現一個不錯的function,可以將Object 轉換成 Array,我使用後沒什麼問題提供給大家參考
function std_class_object_to_array($stdclassobject)
{
   $_array = is_object($stdclassobject) ? get_object_vars($stdclassobject) : stdclassobject;

foreach ($_array as $key => $value) {
$value = (is_array($value) || is_object($value)) ? std_class_object_to_array($value) : $value;
$array[$key] = $value;
}

    return $array;
}

使用方法如下
$test=std_class_object_to_array($schema);
$a=trim($test[element][complexType][choice][element][complexType][sequence]['a']);
這樣就可以取出a的值了