variants.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // Animations
  2. var variantBar = document.getElementById("variantBar");
  3. var variantDropdownBtn = document.getElementById("dropdownBtn-variants");
  4. var variantChevronUp = document.getElementById("chevronUp-variants");
  5. var variantChevronDown = document.getElementById("chevronDown-variants");
  6. var variantDropdownLabel = document.getElementById("dropdownLabel-variants");
  7. var variantDropdownContent = document.getElementById("dropdownContent-variants");
  8. var clickInterceptor = document.getElementById("click-interceptor");
  9. function displayVariantDropdownContent(display) {
  10. if (display) {
  11. variantDropdownContent.style.display = "block";
  12. variantChevronDown.style.display = "inline";
  13. variantChevronUp.style.display = "none";
  14. variantDropdownBtn.classList.add("open");
  15. clickInterceptor.classList.remove("hidden");
  16. }
  17. else {
  18. variantDropdownContent.style.display = "none";
  19. variantChevronDown.style.display = "none";
  20. variantChevronUp.style.display = "inline";
  21. variantDropdownBtn.classList.remove("open");
  22. clickInterceptor.classList.add("hidden");
  23. }
  24. }
  25. variantDropdownBtn.addEventListener("click", function() {
  26. if (variantDropdownContent.style.display === "block") {
  27. displayVariantDropdownContent(false);
  28. }
  29. else {
  30. displayVariantDropdownContent(true);
  31. }
  32. });
  33. function createVariantDropdownLink(variantName, target) {
  34. var variant = document.createElement("a");
  35. variant.innerHTML = variantName;
  36. variant.title = variantName;
  37. variant.addEventListener("click", function() {
  38. if (variantName === "Original") {
  39. BABYLON.GLTF2.Loader.Extensions.KHR_materials_variants.Reset(target);
  40. } else {
  41. BABYLON.GLTF2.Loader.Extensions.KHR_materials_variants.SelectVariant(target, variantName);
  42. }
  43. variantDropdownLabel.innerHTML = variantName;
  44. variantDropdownLabel.title = variantName;
  45. });
  46. variantDropdownContent.appendChild(variant);
  47. }