diff options
Diffstat (limited to 'examples/webkit/webkit-guide/js/anim_accord.js')
-rwxr-xr-x | examples/webkit/webkit-guide/js/anim_accord.js | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/examples/webkit/webkit-guide/js/anim_accord.js b/examples/webkit/webkit-guide/js/anim_accord.js new file mode 100755 index 0000000000..8d58a18c7e --- /dev/null +++ b/examples/webkit/webkit-guide/js/anim_accord.js @@ -0,0 +1,78 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the Qt WebKit module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ +window.onload = function() { + + initDT(); + document.querySelector('body').addEventListener('click', function(event){ + var dl = document.querySelector('#accordion'); + var ct = event.currentTarget; + var t = event.target; + var dt; + if (t.id == 'accordion' && t.className == 'collapsed') { + dl.className = 'expanded'; + } + else if (t.tagName == 'DT' && t.parentNode.id == 'accordion') { + if ( t.className == 'collapsed' ) { + t.className = 'expanded'; + } + else { + t.className = 'collapsed'; + } + } + else { + dl.className = 'collapsed'; + initDT(); + } + }); +}; + +function initDT() { + var el = nlToAr(document.querySelectorAll('#accordion > dt')); + el.forEach( function(l){ l.className = 'collapsed'; }); +} + +function nlToAr(nl) { + var a = new Array(); + var l = nl.length; + var i = l - 1; + a[i] = true; + for ( i = 0; i < l ; i++ ) { a[i] = nl[i]; } + return(a); +} |