javascript中的Destroy函数

Destroy function in javascript

本文关键字:函数 Destroy 中的 javascript      更新时间:2023-09-26

我有我的应用程序,这将创建下拉选择器很快,因为它找到一个文件夹内的文件夹。最后将显示一个index.html文件。如果有一个名为index.html的文件,它将被加载到iframe中。现在我可以停止显示索引文件并停止创建一个新的下拉选择器,只要该文件在文件夹内。但如果有其他文件夹,如js或css或图像,它会显示它们。谁能帮助我修改代码,只要它得到和index.html文件停止寻找另一个文件夹里面,并停止创建一个新的文件夹。

这里是一个链接,我有应用程序运行http://tdhtestserver.herobo.com/

下面是查找文件夹和html文件的代码并创建下拉选择器
function processNewDFData( respObj, $currentSelectItem, strCurrentPath ) {
  fsStructure[strCurrentPath] = {'subfolders':[], 'subshtmls':[]};
  var hasFolder = false;
  if ( (respObj.subfolders.length > 0) || (respObj.subshtmls.length > 0) ) {
    for( var i = 0; i < respObj.subfolders.length; i++ ) {
      fsStructure[strCurrentPath].subfolders.push( respObj.subfolders[i] );
      hasFolder = true;
    }
    for( var i = 0; i < respObj.subshtmls.length; i++ ) {
      fsStructure[strCurrentPath].subshtmls.push( respObj.subshtmls[i] );
    }
  }
  rendSelects( $currentSelectItem, strCurrentPath, hasFolder );
}
function rendSelects($currentSelectItem, strPath, hasFolder) {
       var currentSelectLvl = (null === $currentSelectItem ? -1 : parseInt($currentSelectItem.attr('data-selector-level'))),
        nextOneSelectorHtml =
            '<select class="dropdown selectpicker" name="dd" ' 
            + 'data-selector-level="' + (currentSelectLvl + 1) + '" ' 
            + 'data-path="' + strPath + '" '
            + 'onchange="onFsSelectChange(this)"'
            + '><option text selected> -- select an option -- </option>';
 $('div.selectors-container select.dropdown').each(function (i, el) {
  if(parseInt(el.getAttribute('data-selector-level'))>currentSelectLvl) {
            el.parentNode.removeChild(el);
            $(el).selectpicker('destroy');
  }
 });
   if ( fsStructure[strPath].subfolders.length > 0 ) {
    for(var i=0; i < fsStructure[strPath].subfolders.length; i++) {
        if(fsStructure[strPath].subfolders[i] != 'highlighted'){
        nextOneSelectorHtml += 
          '<option ' + 
            'class="subfolder-option" ' + 
            'data-subfolder="' + fsStructure[strPath].subfolders[i] + '">' + 
              fsStructure[strPath].subfolders[i] + 
          '</option>';
        }
    }
  }
  if ( fsStructure[strPath].subshtmls.length > 0 ) {
    for(var i=0; i < fsStructure[strPath].subshtmls.length; i++) {
         if (fsStructure[strPath].subshtmls[i] != 'highlighted.html' && fsStructure[strPath].subshtmls[i] != 'index.html'){
        nextOneSelectorHtml += 
          '<option ' + 
            'class="html-page-option" ' + 
            'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' + 
              fsStructure[strPath].subshtmls[i] + 
          '</option>';
        }else{high( strPath+'/highlighted.html');} 
    }
  }
  if ( fsStructure[strPath].subshtmls.length > 0 ) {
    for(var i=0; i < fsStructure[strPath].subshtmls.length; i++) {
        if (fsStructure[strPath].subshtmls[i] != 'index.html'){
        nextOneSelectorHtml += 
          '<option ' + 
            'style="display: none;" ' +
            'class="html-page-option" ' + 
            'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' + 
              fsStructure[strPath].subshtmls[i] + 
          '</option>';
        }else{playSwf( strPath+'/index.html');}
    }
  }
  if(hasFolder) {
    nextOneSelectorHtml += '</select>';
    $('div.selectors-container').append( nextOneSelectorHtml );
    $('div.selectors-container').trigger('dropdownadded.mh');
  }
}

我所要做的就是将hasFolder = false;添加到这一行else{playSwf( strPath+'/index.html');hasFolder = false;}