/tab9/index.php

https://github.com/gps786/yui-examples · PHP · 159 lines · 100 code · 23 blank · 36 comment · 12 complexity · 74cc65d80daccb79a59f62604479aad2 MD5 · raw file

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
  3. <head>
  4. <title>Tabbing Test</title>
  5. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  6. <link rel="stylesheet" type="text/css" media="screen" href="style/global.css" />
  7. <link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.3.1/build/container/assets/container.css">
  8. <script type="text/javascript" src="scripts/yui.js"></script>
  9. </head>
  10. <body class="template-D">
  11. <div id="primaryTabs">
  12. <!-- TABS START -->
  13. <ul class="yui-nav">
  14. <li class="selected"><a href="#tab1" title="Overview"><img src="images/DiVosta/tabsD-overview.jpg" alt="Overview" /> TEST</a></li>
  15. <li><a href="#tab2" title="Amenities"><img src="images/DiVosta/tabsD-amenities.jpg" alt="Amenities" /> TEST</a></li>
  16. </ul>
  17. <!-- TABS END -->
  18. <div class="communityInfo">
  19. <div class="yui-content">
  20. <!-- TAB 1 START -->
  21. <div id="tab1">
  22. <div>content on tab 1 - sparkling white beaches</div>
  23. </div>
  24. <!-- TAB 1 END -->
  25. <!-- TAB 2 START -->
  26. <div id="tab2">
  27. <div>i am on the second tab</div>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. <script type="text/javascript">
  33. // YUI SHORTHAND
  34. var YUD = YAHOO.util.Dom;
  35. var YUE = YAHOO.util.Event;
  36. var YUA = YAHOO.util.Anim;
  37. // TABS
  38. YUE.onAvailable('primaryTabs',function() {
  39. var tabView = new YAHOO.widget.TabView('primaryTabs');
  40. var tabView = new YAHOO.widget.TabView('amenitiesTabs');
  41. var tabView = new YAHOO.widget.TabView('aboutAreaTabs');
  42. // onload
  43. var onloadTarget = YUD.getElementsByClassName('yui-nav')[0].getElementsByTagName('LI');
  44. for (var x=0; x<onloadTarget.length; x++) {
  45. if (onloadTarget[x].className=='selected') {
  46. var newTarget = onloadTarget[x].getElementsByTagName('img')[0];
  47. var newSrc = newTarget.src.replace('.jpg','-on.jpg');
  48. newTarget.setAttribute('src',newSrc);
  49. }
  50. }
  51. // on click
  52. var clickTarget = YUD.getElementsByClassName('yui-nav')[0].getElementsByTagName('IMG');
  53. for (var i=0; i<clickTarget.length; i++) {
  54. YUE.addListener(clickTarget[i],'click',function(e){
  55. var target = YUE.getTarget(e);
  56. for (var j=0; j<clickTarget.length; j++) {
  57. if (clickTarget[j].src.indexOf('-on.jpg')!=-1){
  58. var newSrc = clickTarget[j].src.replace('-on.jpg','.jpg');
  59. clickTarget[j].setAttribute('src',newSrc);
  60. }
  61. }
  62. if (target.src.indexOf('-on.jpg')==-1){
  63. var newSrc = target.src.replace('.jpg','-on.jpg');
  64. target.setAttribute('src',newSrc);
  65. }
  66. }, this, true);
  67. }
  68. var ttStrings = new Array();
  69. ttStrings[ttStrings.length] = {
  70. term:'sparkling white beaches',
  71. id:'sparkling',
  72. title:'What are sparkling white beaches?',
  73. text:'Lots of sand that looks white, usually highly prized for making sand castles. Found mostly in places with beaches.'
  74. };
  75. //sets containers for tooltips
  76. YAHOO.namespace('tooltipsContainer');
  77. //Get all the elements of the given classname of the given tag.
  78. function getElementsByClassName(classname,tag) {
  79. if(!tag) tag = "*";
  80. var tagEl = document.getElementsByTagName(tag);
  81. var total_tagEl = tagEl.length;
  82. var regexp = new RegExp('\\b' + classname + '\\b');
  83. var class_items = new Array();
  84. for(var i=0;i<total_tagEl;i++) { //Go thru all the links seaching for the class name
  85. var this_item = tagEl[i];
  86. if(regexp.test(this_item.className)) {
  87. class_items.push(this_item);
  88. }
  89. }
  90. return class_items;
  91. }
  92. //grabs content from the tabs container
  93. function getString() {
  94. var contentText = getElementsByClassName("communityInfo","div");
  95. //not the cleanest way of doing something
  96. if(!contentText[1]){
  97. alert(contentText[0].innerHTML);
  98. //contentText[0].innerHTML = searchForString(contentText[0].innerHTML);
  99. } else {
  100. //contentText[1].innerHTML = searchForString(contentText[1].innerHTML);
  101. }
  102. }
  103. //finds strings and wraps them in anchors and spans
  104. function searchForString(searchString) {
  105. /*
  106. for (var i=0;i<ttStrings.length;i++){
  107. //can't use array syntax in a regex expression so need to assign to variables
  108. var term = "term" + i;
  109. term = ttStrings[i].term;
  110. var linkId = "linkId" + i;
  111. linkId = ttStrings[i].id;
  112. var ttTitle = "ttTitle" + i;
  113. ttTitle = ttStrings[i].title;
  114. var ttText = "ttText" + i;
  115. ttText = ttStrings[i].text;
  116. var check = new RegExp(term);
  117. if(check.test(searchString)){
  118. //can't set the title attribute in the link as it overwrites the tooltip text
  119. //searchString = searchString.replace(term, '<a href="javascript:void(0)" class="valueHighlight" id="'+linkId+'"><span>'+term+'</span></a>');
  120. //tool tip functionality
  121. var ttId = "ttId" + i;
  122. YAHOO.tooltipsContainer.ttId = new YAHOO.widget.Tooltip(ttId, {width:'200px',context:''+linkId+'',text:'<strong>'+ttTitle+'</strong><br/>'+ttText+''});
  123. } else {
  124. break;
  125. }
  126. }
  127. */
  128. return searchString;
  129. }
  130. if (YUD.hasClass(document.body,'template-D')||YUD.hasClass(document.body,'template-E')) getString();
  131. });
  132. </script>
  133. </body>
  134. </html>